<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>万邦api博客</title><link>https://jelenaapi.com/</link><description>Good Luck To You!</description><item><title>电商平台api：1688 阿里巴巴平台商品详情全解析</title><link>https://jelenaapi.com/?id=120</link><description>&lt;div data-v-7811be09=&quot;&quot; class=&quot;segment-content-box&quot; style=&quot;font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; scrollbar-color: rgba(0, 0, 0, 0.25) rgba(0, 0, 0, 0); margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;&quot;&gt;&lt;div data-v-b3358103=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;markdown-container&quot; style=&quot;font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; scrollbar-color: rgba(0, 0, 0, 0.25) rgba(0, 0, 0, 0); margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;&quot;&gt;&lt;div data-v-b3358103=&quot;&quot; class=&quot;markdown&quot; style=&quot;font-family: inherit; scrollbar-color: rgba(0, 0, 0, 0.25) rgba(0, 0, 0, 0); margin: 0px; padding: 0px; border: 0px; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; max-width: 100%; color: rgba(0, 0, 0, 0.9); position: relative;&quot;&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-size: 16px; letter-spacing: 0px; white-space: pre-wrap; font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; max-width: 100%; word-break: break-word; text-shadow: none;&quot;&gt;1688（阿里巴巴中国站）作为国内最大的 B2B 批发平台，其商品详情数据涵盖了从基础信息到供应链属性的完整维度。本文将深入解析 1688 商品详情的全量数据字段，并对比主流电商平台的 API 接口体系，帮助开发者全面掌握 B2B 电商数据采集技术。&lt;div data-v-77c93641=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;pua-ref-renderer pua-ref-renderer--cite&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; white-space-collapse: collapse; display: inline-block;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr style=&quot;font-size: inherit; letter-spacing: 0.5px; text-wrap-mode: nowrap; font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-size: 20px; letter-spacing: 0px; text-wrap-mode: nowrap; font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;一、1688 商品详情数据结构全景图&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-size: 16px; letter-spacing: 0px; white-space: pre-wrap; font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; max-width: 100%; word-break: break-word; text-shadow: none;&quot;&gt;1688 商品详情不同于淘宝/天猫的 C2C/B2C 模式，其核心特征是&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;批发属性&lt;/span&gt;——起订量、阶梯价、代发支持、工厂信息等字段是 1688 独有的数据维度。&lt;div data-v-77c93641=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;pua-ref-renderer pua-ref-renderer--cite&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; white-space-collapse: collapse; display: inline-block;&quot;&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://www.cnblogs.com/API-19970108110/p/19709387&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;博客园&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font: inherit; letter-spacing: 0.5px; text-wrap-mode: wrap; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;plain&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-plain&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&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;1688&amp;nbsp;商品详情数据结构&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;商品ID&amp;nbsp;(num_iid&amp;nbsp;/&amp;nbsp;productId)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;标题&amp;nbsp;(subject&amp;nbsp;/&amp;nbsp;title)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;副标题&amp;nbsp;/&amp;nbsp;营销文案&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;主图列表&amp;nbsp;(imageUrls&amp;nbsp;/&amp;nbsp;item_imgs)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;商品视频&amp;nbsp;(video_url)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;└──&amp;nbsp;商品状态&amp;nbsp;(status:&amp;nbsp;上架/下架/删除)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;价格体系层（1688&amp;nbsp;核心）&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;参考价&amp;nbsp;/&amp;nbsp;划线价&amp;nbsp;(reference_price)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;售价&amp;nbsp;(price)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;阶梯批发价&amp;nbsp;(priceRanges)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;└──&amp;nbsp;[{startQuantity:&amp;nbsp;1,&amp;nbsp;price:&amp;nbsp;10.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;(agent_price&amp;nbsp;/&amp;nbsp;dropship_price)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;最小起订量&amp;nbsp;(moq&amp;nbsp;/&amp;nbsp;minOrderQuantity)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;└──&amp;nbsp;计量单位&amp;nbsp;(unit:&amp;nbsp;件/套/箱)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
├─────────────────────────────────────────────────────────────┤
│&amp;nbsp;&amp;nbsp;3.&amp;nbsp;SKU&amp;nbsp;规格层&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;规格属性&amp;nbsp;(specs:&amp;nbsp;颜色/尺码/材质...)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;SKU&amp;nbsp;映射表&amp;nbsp;(skuMap)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;红色;M&amp;quot;:&amp;nbsp;{skuId,&amp;nbsp;price,&amp;nbsp;stock,&amp;nbsp;specId}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;└──&amp;nbsp;SKU&amp;nbsp;图片&amp;nbsp;(sku_images)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;总库存&amp;nbsp;(stock&amp;nbsp;/&amp;nbsp;quantity)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;可售数量&amp;nbsp;(amountOnSale)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;发货地&amp;nbsp;(location&amp;nbsp;/&amp;nbsp;sendGoodsAddress)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;运费模板&amp;nbsp;(freightTemplateID)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;重量体积&amp;nbsp;(weight&amp;nbsp;/&amp;nbsp;volume&amp;nbsp;/&amp;nbsp;packageSize)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;└──&amp;nbsp;发货时效&amp;nbsp;(deliveryTime)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
├─────────────────────────────────────────────────────────────┤
│&amp;nbsp;&amp;nbsp;5.&amp;nbsp;供应商信息层（1688&amp;nbsp;特色）&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;供应商名称&amp;nbsp;(supplier&amp;nbsp;/&amp;nbsp;sellerNick)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;供应商ID&amp;nbsp;(seller_id)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;诚信通等级&amp;nbsp;(creditLevel&amp;nbsp;/&amp;nbsp;supplier_level)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;实力商家/超级工厂标识&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;经营模式&amp;nbsp;(manufacturer&amp;nbsp;/&amp;nbsp;trader)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;工厂信息&amp;nbsp;(factoryInfo)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;└──&amp;nbsp;近&amp;nbsp;90&amp;nbsp;天成交额&amp;nbsp;/&amp;nbsp;回头率&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
├─────────────────────────────────────────────────────────────┤
│&amp;nbsp;&amp;nbsp;6.&amp;nbsp;交易服务层&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;是否支持混批&amp;nbsp;(isSupportMix)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;是否支持一件代发&amp;nbsp;(isSupportAgent&amp;nbsp;/&amp;nbsp;dropship)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;支付方式&amp;nbsp;(creditPayment&amp;nbsp;/&amp;nbsp;assurance)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;└──&amp;nbsp;跨境专供标识&amp;nbsp;(crossBorder)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
├─────────────────────────────────────────────────────────────┤
│&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;类目属性&amp;nbsp;(categoryProps)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;自定义属性&amp;nbsp;(attributes)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;商品描述&amp;nbsp;(description&amp;nbsp;/&amp;nbsp;detail)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;└──&amp;nbsp;商品参数&amp;nbsp;(paramList)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;30&amp;nbsp;天销量&amp;nbsp;(saleCount&amp;nbsp;/&amp;nbsp;sales)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;总销量&amp;nbsp;(totalSales)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;评价数&amp;nbsp;(evaluateCount)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;好评率&amp;nbsp;(goodRate)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;└──&amp;nbsp;收藏数&amp;nbsp;(favCount)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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 data-v-5f641036=&quot;&quot; style=&quot;font: inherit; letter-spacing: 0.5px; text-wrap-mode: nowrap; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;&quot;&gt;&lt;/div&gt;&lt;hr style=&quot;font-size: inherit; letter-spacing: 0.5px; text-wrap-mode: nowrap; font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-size: 20px; letter-spacing: 0px; text-wrap-mode: nowrap; font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;二、官方 API 接口详解：&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;alibaba.product.get&lt;/code&gt;&lt;/h2&gt;&lt;h3 class=&quot;&quot; style=&quot;font-size: 18px; letter-spacing: 0px; text-wrap-mode: nowrap; font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;2.1 接口基本信息&lt;/h3&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font: inherit; letter-spacing: 0.5px; text-wrap-mode: wrap; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; vertical-align: baseline; max-width: 100%; width: max-content; position: relative;&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;属性&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;说明&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;接口地址&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;https://gw.open.1688.com/openapi/param2/1/com.alibaba.product/alibaba.product.get&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;请求方式&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;POST / GET&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;数据格式&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;application/x-www-form-urlencoded&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;返回格式&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;JSON&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;接口版本&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;2.0（2026 年主推，1.0 已不返回核心字段）&lt;div data-v-77c93641=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;pua-ref-renderer pua-ref-renderer--cite&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; white-space-collapse: collapse; display: inline-block;&quot;&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://www.cnblogs.com/API-19970108110/p/19709387&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;博客园&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 style=&quot;font-size: 18px; letter-spacing: 0px; text-wrap-mode: nowrap; font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;2.2 请求参数&lt;/h3&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font: inherit; letter-spacing: 0.5px; text-wrap-mode: wrap; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; vertical-align: baseline; max-width: 100%; width: max-content; position: relative;&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;参数名&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;类型&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;必选&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;说明&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;app_key&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;String&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;是&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;应用唯一标识&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;method&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;String&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;是&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;固定值 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;com.alibaba.product.alibaba.product.get&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;timestamp&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;String&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;是&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;时间戳（&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;yyyy-MM-dd HH:mm:ss&lt;/code&gt;）&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;v&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;String&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;是&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;API 版本：&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;2.0&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;format&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;String&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;是&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;返回格式：&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;json&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;sign&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;String&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;是&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;MD5 签名&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;access_token&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;String&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;是&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;OAuth2.0 授权令牌&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;productId&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;Long&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;是&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;1688 商品数字 ID&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;fields&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;String&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;否&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;指定返回字段，逗号分隔&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 style=&quot;font-size: 18px; letter-spacing: 0px; text-wrap-mode: nowrap; font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;2.3 核心返回字段全解析&lt;/h3&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font: inherit; letter-spacing: 0.5px; text-wrap-mode: wrap; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;JSON&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-json&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;{
&amp;nbsp;&amp;nbsp;&amp;quot;result&amp;quot;:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;productId&amp;quot;:&amp;nbsp;619899292404,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;subject&amp;quot;:&amp;nbsp;&amp;quot;2026新款蓝牙耳机无线降噪运动入耳式超长续航&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;description&amp;quot;:&amp;nbsp;&amp;quot;&amp;lt;html&amp;gt;...&amp;lt;/html&amp;gt;&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;imageUrl&amp;quot;:&amp;nbsp;&amp;quot;https://cbu01.alicdn.com/img/ibank/xxx.jpg&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;detailPage&amp;quot;:&amp;nbsp;&amp;quot;https://detail.1688.com/offer/619899292404.html&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;status&amp;quot;:&amp;nbsp;&amp;quot;published&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;priceRanges&amp;quot;:&amp;nbsp;[
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;quot;startQuantity&amp;quot;:&amp;nbsp;1,&amp;nbsp;&amp;quot;price&amp;quot;:&amp;nbsp;35.00},
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;quot;startQuantity&amp;quot;:&amp;nbsp;50,&amp;nbsp;&amp;quot;price&amp;quot;:&amp;nbsp;32.00},
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;quot;startQuantity&amp;quot;:&amp;nbsp;200,&amp;nbsp;&amp;quot;price&amp;quot;:&amp;nbsp;28.50},
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;quot;startQuantity&amp;quot;:&amp;nbsp;500,&amp;nbsp;&amp;quot;price&amp;quot;:&amp;nbsp;25.00}
&amp;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;saleInfo&amp;quot;:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;minOrderQuantity&amp;quot;:&amp;nbsp;2,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;unit&amp;quot;:&amp;nbsp;&amp;quot;件&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;amountOnSale&amp;quot;:&amp;nbsp;5000,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;priceRanges&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;skuInfo&amp;quot;:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;skuMap&amp;quot;:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;quot;skuId&amp;quot;:&amp;nbsp;&amp;quot;4862151234567&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;price&amp;quot;:&amp;nbsp;35.00,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;stock&amp;quot;:&amp;nbsp;1200
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;skuId&amp;quot;:&amp;nbsp;&amp;quot;4862151234568&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;price&amp;quot;:&amp;nbsp;55.00,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;stock&amp;quot;:&amp;nbsp;800
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;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;specs&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;specId&amp;quot;:&amp;nbsp;&amp;quot;1627207&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;name&amp;quot;:&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;quot;values&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;valueId&amp;quot;:&amp;nbsp;&amp;quot;28320&amp;quot;,&amp;nbsp;&amp;quot;name&amp;quot;:&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;quot;valueId&amp;quot;:&amp;nbsp;&amp;quot;28321&amp;quot;,&amp;nbsp;&amp;quot;name&amp;quot;:&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;specId&amp;quot;:&amp;nbsp;&amp;quot;20509&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;name&amp;quot;:&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;quot;values&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;valueId&amp;quot;:&amp;nbsp;&amp;quot;28324&amp;quot;,&amp;nbsp;&amp;quot;name&amp;quot;:&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;quot;valueId&amp;quot;:&amp;nbsp;&amp;quot;28325&amp;quot;,&amp;nbsp;&amp;quot;name&amp;quot;:&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]
&amp;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;shippingInfo&amp;quot;:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;freightTemplateID&amp;quot;:&amp;nbsp;11754104,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;unitWeight&amp;quot;:&amp;nbsp;0.15,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;packageSize&amp;quot;:&amp;nbsp;&amp;quot;10x8x5&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;volume&amp;quot;:&amp;nbsp;400,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;sendGoodsAddress&amp;quot;:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;province&amp;quot;:&amp;nbsp;&amp;quot;广东&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;city&amp;quot;:&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;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;supplier&amp;quot;:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;supplierId&amp;quot;:&amp;nbsp;&amp;quot;b2b-1234567890&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;companyName&amp;quot;:&amp;nbsp;&amp;quot;深圳市xxx电子有限公司&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;creditLevel&amp;quot;:&amp;nbsp;&amp;quot;AAAAA&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;isFactory&amp;quot;:&amp;nbsp;true,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;mainProducts&amp;quot;:&amp;nbsp;[&amp;quot;蓝牙耳机&amp;quot;,&amp;nbsp;&amp;quot;音箱&amp;quot;]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;}}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font: inherit; letter-spacing: 0.5px; text-wrap-mode: nowrap; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;&quot;&gt;&lt;/div&gt;&lt;hr style=&quot;font-size: inherit; letter-spacing: 0.5px; text-wrap-mode: nowrap; font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 style=&quot;font-size: 20px; letter-spacing: 0px; text-wrap-mode: nowrap; font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;三、Python 完整实战：商品详情全字段采集，&lt;a href=&quot;https://o0b.cn/jelena&quot; target=&quot;_self&quot;&gt;获取账号测试&lt;/a&gt;&lt;/h2&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font: inherit; letter-spacing: 0.5px; text-wrap-mode: wrap; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;#&amp;nbsp;-*-&amp;nbsp;coding:&amp;nbsp;utf-8&amp;nbsp;-*-&amp;quot;&amp;quot;&amp;quot;
1688&amp;nbsp;商品详情全字段采集器
支持官方&amp;nbsp;API&amp;nbsp;和第三方聚合&amp;nbsp;API
&amp;quot;&amp;quot;&amp;quot;import&amp;nbsp;requestsimport&amp;nbsp;hashlibimport&amp;nbsp;timeimport&amp;nbsp;jsonimport&amp;nbsp;urllib.parsefrom&amp;nbsp;typing&amp;nbsp;import&amp;nbsp;Dict,&amp;nbsp;List,&amp;nbsp;Optionalfrom&amp;nbsp;dataclasses&amp;nbsp;import&amp;nbsp;dataclass,&amp;nbsp;asdictfrom&amp;nbsp;datetime&amp;nbsp;import&amp;nbsp;datetime@dataclassclass&amp;nbsp;PriceRange:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;阶梯价格&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;start_quantity:&amp;nbsp;int
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price:&amp;nbsp;float@dataclassclass&amp;nbsp;SkuItem:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;SKU&amp;nbsp;规格&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sku_id:&amp;nbsp;str
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;properties:&amp;nbsp;str&amp;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;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price:&amp;nbsp;float
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stock:&amp;nbsp;int@dataclassclass&amp;nbsp;ProductSpec:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;商品规格定义&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;spec_id:&amp;nbsp;str
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;name:&amp;nbsp;str&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;、&amp;quot;尺码&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values:&amp;nbsp;List[Dict]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;[{valueId,&amp;nbsp;name},&amp;nbsp;...]@dataclassclass&amp;nbsp;ShippingInfo:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;物流信息&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;freight_template_id:&amp;nbsp;int
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;unit_weight:&amp;nbsp;float&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;单位重量(kg)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;package_size:&amp;nbsp;str&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;包装尺寸(cm)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volume:&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;&amp;nbsp;&amp;nbsp;#&amp;nbsp;体积(cm³)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;province:&amp;nbsp;str
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;city:&amp;nbsp;str@dataclassclass&amp;nbsp;SupplierInfo:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;供应商信息&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;supplier_id:&amp;nbsp;str
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;company_name:&amp;nbsp;str
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;credit_level:&amp;nbsp;str
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;is_factory:&amp;nbsp;bool
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;main_products:&amp;nbsp;List[str]@dataclassclass&amp;nbsp;ProductDetail:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;1688&amp;nbsp;商品详情完整结构&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;基础信息
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;product_id:&amp;nbsp;str
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;title:&amp;nbsp;str
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;description:&amp;nbsp;str
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;main_image:&amp;nbsp;str
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;images:&amp;nbsp;List[str]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;detail_url:&amp;nbsp;str
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;status:&amp;nbsp;str
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;价格体系
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;reference_price:&amp;nbsp;float
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price_ranges:&amp;nbsp;List[PriceRange]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;min_order_quantity:&amp;nbsp;int
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;unit:&amp;nbsp;str
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;SKU&amp;nbsp;信息
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;skus:&amp;nbsp;List[SkuItem]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;specs:&amp;nbsp;List[ProductSpec]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;库存物流
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;total_stock:&amp;nbsp;int
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;amount_on_sale:&amp;nbsp;int
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;shipping:&amp;nbsp;ShippingInfo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;供应商
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;supplier:&amp;nbsp;SupplierInfo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;交易服务
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;support_mix:&amp;nbsp;bool
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;support_agent:&amp;nbsp;bool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;一件代发
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;support_credit:&amp;nbsp;bool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;账期支付
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;营销数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sales_30d:&amp;nbsp;int
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;total_sales:&amp;nbsp;int
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;evaluate_count:&amp;nbsp;int
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;good_rate:&amp;nbsp;float
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;时间戳
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;create_time:&amp;nbsp;str
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;update_time:&amp;nbsp;strclass&amp;nbsp;Alibaba1688DetailAPI:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1688&amp;nbsp;商品详情&amp;nbsp;API&amp;nbsp;客户端
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OFFICIAL_URL&amp;nbsp;=&amp;nbsp;&amp;quot;https://gw.open.1688.com/openapi/param2/1/com.alibaba.product/alibaba.product.get&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;__init__(self,&amp;nbsp;app_key:&amp;nbsp;str,&amp;nbsp;app_secret:&amp;nbsp;str,&amp;nbsp;access_token:&amp;nbsp;str):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.app_key&amp;nbsp;=&amp;nbsp;app_key
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.app_secret&amp;nbsp;=&amp;nbsp;app_secret
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.access_token&amp;nbsp;=&amp;nbsp;access_token
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.session&amp;nbsp;=&amp;nbsp;requests.Session()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;_generate_sign(self,&amp;nbsp;params:&amp;nbsp;dict)&amp;nbsp;-&amp;gt;&amp;nbsp;str:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;生成&amp;nbsp;MD5&amp;nbsp;签名
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;规则：app_secret&amp;nbsp;+&amp;nbsp;排序后参数拼接&amp;nbsp;+&amp;nbsp;app_secret，整体&amp;nbsp;MD5&amp;nbsp;大写
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sorted_params&amp;nbsp;=&amp;nbsp;sorted(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[(k,&amp;nbsp;v)&amp;nbsp;for&amp;nbsp;k,&amp;nbsp;v&amp;nbsp;in&amp;nbsp;params.items()&amp;nbsp;if&amp;nbsp;v&amp;nbsp;is&amp;nbsp;not&amp;nbsp;None&amp;nbsp;and&amp;nbsp;k&amp;nbsp;!=&amp;nbsp;&amp;#39;sign&amp;#39;],
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;key=lambda&amp;nbsp;x:&amp;nbsp;x[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;param_str&amp;nbsp;=&amp;nbsp;&amp;#39;&amp;#39;.join([f&amp;quot;{k}{urllib.parse.quote_plus(str(v))}&amp;quot;&amp;nbsp;for&amp;nbsp;k,&amp;nbsp;v&amp;nbsp;in&amp;nbsp;sorted_params])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sign_str&amp;nbsp;=&amp;nbsp;f&amp;quot;{self.app_secret}{param_str}{self.app_secret}&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;hashlib.md5(sign_str.encode(&amp;#39;utf-8&amp;#39;)).hexdigest().upper()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;get_product_detail(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;product_id:&amp;nbsp;str,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fields:&amp;nbsp;Optional[str]&amp;nbsp;=&amp;nbsp;None
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;-&amp;gt;&amp;nbsp;Optional[ProductDetail]:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&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;Args:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;product_id:&amp;nbsp;1688&amp;nbsp;商品数字&amp;nbsp;ID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fields:&amp;nbsp;指定返回字段，None&amp;nbsp;则返回全部
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Returns:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ProductDetail&amp;nbsp;对象
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&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;if&amp;nbsp;fields&amp;nbsp;is&amp;nbsp;None:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fields&amp;nbsp;=&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;productId,subject,description,imageUrl,detailPage,status,&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;priceRanges,saleInfo,skuInfo,shippingInfo,&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;supplier,creditInfo,tradeServiceInfo,&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;createTime,lastUpdateTime&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;params&amp;nbsp;=&amp;nbsp;{
&amp;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_key&amp;quot;:&amp;nbsp;self.app_key,
&amp;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;method&amp;quot;:&amp;nbsp;&amp;quot;com.alibaba.product.alibaba.product.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;quot;timestamp&amp;quot;:&amp;nbsp;time.strftime(&amp;quot;%Y-%m-%d&amp;nbsp;%H:%M:%S&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;v&amp;quot;:&amp;nbsp;&amp;quot;2.0&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;format&amp;quot;:&amp;nbsp;&amp;quot;json&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;access_token&amp;quot;:&amp;nbsp;self.access_token,
&amp;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;productId&amp;quot;:&amp;nbsp;product_id,
&amp;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;fields&amp;quot;:&amp;nbsp;fields&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params[&amp;quot;sign&amp;quot;]&amp;nbsp;=&amp;nbsp;self._generate_sign(params)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;response&amp;nbsp;=&amp;nbsp;self.session.post(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.OFFICIAL_URL,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data=params,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;timeout=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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response.raise_for_status()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data&amp;nbsp;=&amp;nbsp;response.json()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&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;data.get(&amp;quot;success&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;return&amp;nbsp;self._parse_product(data.get(&amp;quot;result&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;nbsp;&amp;nbsp;&amp;nbsp;&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(f&amp;quot;API&amp;nbsp;错误:&amp;nbsp;{data.get(&amp;#39;errorMessage&amp;#39;,&amp;nbsp;&amp;#39;未知错误&amp;#39;)}&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;return&amp;nbsp;None
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except&amp;nbsp;requests.exceptions.RequestException&amp;nbsp;as&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;print(f&amp;quot;请求异常:&amp;nbsp;{e}&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;None
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;_parse_product(self,&amp;nbsp;data:&amp;nbsp;dict)&amp;nbsp;-&amp;gt;&amp;nbsp;ProductDetail:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;解析&amp;nbsp;API&amp;nbsp;响应为结构化对象&amp;quot;&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;price_ranges&amp;nbsp;=&amp;nbsp;[]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;pr&amp;nbsp;in&amp;nbsp;data.get(&amp;quot;priceRanges&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;price_ranges.append(PriceRange(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;start_quantity=pr.get(&amp;quot;startQuantity&amp;quot;,&amp;nbsp;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;&amp;nbsp;price=float(pr.get(&amp;quot;price&amp;quot;,&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;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;解析&amp;nbsp;SKU
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;skus&amp;nbsp;=&amp;nbsp;[]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sku_info&amp;nbsp;=&amp;nbsp;data.get(&amp;quot;skuInfo&amp;quot;,&amp;nbsp;{})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sku_map&amp;nbsp;=&amp;nbsp;sku_info.get(&amp;quot;skuMap&amp;quot;,&amp;nbsp;{})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;props,&amp;nbsp;sku_data&amp;nbsp;in&amp;nbsp;sku_map.items():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;skus.append(SkuItem(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sku_id=str(sku_data.get(&amp;quot;skuId&amp;quot;,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;properties=props,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price=float(sku_data.get(&amp;quot;price&amp;quot;,&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;stock=int(sku_data.get(&amp;quot;stock&amp;quot;,&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;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;解析规格定义
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;specs&amp;nbsp;=&amp;nbsp;[]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;spec&amp;nbsp;in&amp;nbsp;sku_info.get(&amp;quot;specs&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;specs.append(ProductSpec(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;spec_id=str(spec.get(&amp;quot;specId&amp;quot;,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;name=spec.get(&amp;quot;name&amp;quot;,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;values=spec.get(&amp;quot;values&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;解析物流信息
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;shipping&amp;nbsp;=&amp;nbsp;data.get(&amp;quot;shippingInfo&amp;quot;,&amp;nbsp;{})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;address&amp;nbsp;=&amp;nbsp;shipping.get(&amp;quot;sendGoodsAddress&amp;quot;,&amp;nbsp;{})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;shipping_info&amp;nbsp;=&amp;nbsp;ShippingInfo(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;freight_template_id=shipping.get(&amp;quot;freightTemplateID&amp;quot;,&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;unit_weight=float(shipping.get(&amp;quot;unitWeight&amp;quot;,&amp;nbsp;0)&amp;nbsp;or&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;package_size=shipping.get(&amp;quot;packageSize&amp;quot;,&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;volume=int(shipping.get(&amp;quot;volume&amp;quot;,&amp;nbsp;0)&amp;nbsp;or&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;province=address.get(&amp;quot;province&amp;quot;,&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;city=address.get(&amp;quot;city&amp;quot;,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;解析供应商
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;supplier&amp;nbsp;=&amp;nbsp;data.get(&amp;quot;supplier&amp;quot;,&amp;nbsp;{})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;supplier_info&amp;nbsp;=&amp;nbsp;SupplierInfo(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;supplier_id=supplier.get(&amp;quot;supplierId&amp;quot;,&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;company_name=supplier.get(&amp;quot;companyName&amp;quot;,&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;credit_level=supplier.get(&amp;quot;creditLevel&amp;quot;,&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;is_factory=supplier.get(&amp;quot;isFactory&amp;quot;,&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;main_products=supplier.get(&amp;quot;mainProducts&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;#&amp;nbsp;交易服务
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trade_service&amp;nbsp;=&amp;nbsp;data.get(&amp;quot;tradeServiceInfo&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;return&amp;nbsp;ProductDetail(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;product_id=str(data.get(&amp;quot;productId&amp;quot;,&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;title=data.get(&amp;quot;subject&amp;quot;,&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;description=data.get(&amp;quot;description&amp;quot;,&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;main_image=data.get(&amp;quot;imageUrl&amp;quot;,&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;images=data.get(&amp;quot;imageUrls&amp;quot;,&amp;nbsp;[data.get(&amp;quot;imageUrl&amp;quot;,&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;detail_url=data.get(&amp;quot;detailPage&amp;quot;,&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;status=data.get(&amp;quot;status&amp;quot;,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;reference_price=float(data.get(&amp;quot;referencePrice&amp;quot;,&amp;nbsp;0)&amp;nbsp;or&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;price_ranges=price_ranges,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;min_order_quantity=data.get(&amp;quot;saleInfo&amp;quot;,&amp;nbsp;{}).get(&amp;quot;minOrderQuantity&amp;quot;,&amp;nbsp;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;unit=data.get(&amp;quot;saleInfo&amp;quot;,&amp;nbsp;{}).get(&amp;quot;unit&amp;quot;,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;skus=skus,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;specs=specs,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;total_stock=int(data.get(&amp;quot;stock&amp;quot;,&amp;nbsp;0)&amp;nbsp;or&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;amount_on_sale=int(data.get(&amp;quot;saleInfo&amp;quot;,&amp;nbsp;{}).get(&amp;quot;amountOnSale&amp;quot;,&amp;nbsp;0)&amp;nbsp;or&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;shipping=shipping_info,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;supplier=supplier_info,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;support_mix=trade_service.get(&amp;quot;supportMix&amp;quot;,&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;support_agent=trade_service.get(&amp;quot;supportAgent&amp;quot;,&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;support_credit=trade_service.get(&amp;quot;supportCredit&amp;quot;,&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;sales_30d=int(data.get(&amp;quot;saleCount&amp;quot;,&amp;nbsp;0)&amp;nbsp;or&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;total_sales=int(data.get(&amp;quot;totalSales&amp;quot;,&amp;nbsp;0)&amp;nbsp;or&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;evaluate_count=int(data.get(&amp;quot;evaluateCount&amp;quot;,&amp;nbsp;0)&amp;nbsp;or&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;good_rate=float(data.get(&amp;quot;goodRate&amp;quot;,&amp;nbsp;0)&amp;nbsp;or&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;create_time=data.get(&amp;quot;createTime&amp;quot;,&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;update_time=data.get(&amp;quot;lastUpdateTime&amp;quot;,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;export_to_json(self,&amp;nbsp;product:&amp;nbsp;ProductDetail,&amp;nbsp;filename:&amp;nbsp;str&amp;nbsp;=&amp;nbsp;None):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;导出商品详情为&amp;nbsp;JSON&amp;nbsp;文件&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;filename&amp;nbsp;is&amp;nbsp;None:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;filename&amp;nbsp;=&amp;nbsp;f&amp;quot;product_{product.product_id}_{datetime.now().strftime(&amp;#39;%Y%m%d&amp;#39;)}.json&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;with&amp;nbsp;open(filename,&amp;nbsp;&amp;#39;w&amp;#39;,&amp;nbsp;encoding=&amp;#39;utf-8&amp;#39;)&amp;nbsp;as&amp;nbsp;f:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;json.dump(asdict(product),&amp;nbsp;f,&amp;nbsp;ensure_ascii=False,&amp;nbsp;indent=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;print(f&amp;quot;已导出:&amp;nbsp;{filename}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;filename#&amp;nbsp;====================&amp;nbsp;使用示例&amp;nbsp;====================if&amp;nbsp;__name__&amp;nbsp;==&amp;nbsp;&amp;quot;__main__&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;api&amp;nbsp;=&amp;nbsp;Alibaba1688DetailAPI(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;app_key=&amp;quot;your_app_key&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;app_secret=&amp;quot;your_app_secret&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;access_token=&amp;quot;your_access_token&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;product_id&amp;nbsp;=&amp;nbsp;&amp;quot;619899292404&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;detail&amp;nbsp;=&amp;nbsp;api.get_product_detail(product_id)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;detail:
&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;60)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;商品详情:&amp;nbsp;{detail.title}&amp;quot;)
&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;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;nbsp;&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(f&amp;quot;\n【基础信息】&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;商品ID:&amp;nbsp;{detail.product_id}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;状态:&amp;nbsp;{detail.status}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;链接:&amp;nbsp;{detail.detail_url}&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;print(f&amp;quot;\n【价格体系】&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;起订量:&amp;nbsp;{detail.min_order_quantity}&amp;nbsp;{detail.unit}&amp;quot;)
&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;for&amp;nbsp;pr&amp;nbsp;in&amp;nbsp;detail.price_ranges:
&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(f&amp;quot;&amp;nbsp;&amp;nbsp;≥{pr.start_quantity}&amp;nbsp;{detail.unit}:&amp;nbsp;¥{pr.price}&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;SKU&amp;nbsp;信息
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;\n【SKU&amp;nbsp;规格】&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;spec&amp;nbsp;in&amp;nbsp;detail.specs:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values&amp;nbsp;=&amp;nbsp;[v[&amp;quot;name&amp;quot;]&amp;nbsp;for&amp;nbsp;v&amp;nbsp;in&amp;nbsp;spec.values]
&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(f&amp;quot;&amp;nbsp;&amp;nbsp;{spec.name}:&amp;nbsp;{&amp;#39;,&amp;nbsp;&amp;#39;.join(values)}&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;print(f&amp;quot;\nSKU&amp;nbsp;明细:&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;sku&amp;nbsp;in&amp;nbsp;detail.skus:
&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(f&amp;quot;&amp;nbsp;&amp;nbsp;{sku.properties}&amp;nbsp;→&amp;nbsp;¥{sku.price}&amp;nbsp;(库存:{sku.stock})&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;print(f&amp;quot;\n【物流信息】&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;发货地:&amp;nbsp;{detail.shipping.province}&amp;nbsp;{detail.shipping.city}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;重量:&amp;nbsp;{detail.shipping.unit_weight}&amp;nbsp;kg&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;尺寸:&amp;nbsp;{detail.shipping.package_size}&amp;nbsp;cm&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;体积:&amp;nbsp;{detail.shipping.volume}&amp;nbsp;cm³&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;print(f&amp;quot;\n【供应商信息】&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;公司:&amp;nbsp;{detail.supplier.company_name}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;诚信通:&amp;nbsp;{detail.supplier.credit_level}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;工厂店:&amp;nbsp;{&amp;#39;是&amp;#39;&amp;nbsp;if&amp;nbsp;detail.supplier.is_factory&amp;nbsp;else&amp;nbsp;&amp;#39;否&amp;#39;}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;主营:&amp;nbsp;{&amp;#39;,&amp;nbsp;&amp;#39;.join(detail.supplier.main_products)}&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;print(f&amp;quot;\n【交易服务】&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;支持混批:&amp;nbsp;{&amp;#39;是&amp;#39;&amp;nbsp;if&amp;nbsp;detail.support_mix&amp;nbsp;else&amp;nbsp;&amp;#39;否&amp;#39;}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;支持代发:&amp;nbsp;{&amp;#39;是&amp;#39;&amp;nbsp;if&amp;nbsp;detail.support_agent&amp;nbsp;else&amp;nbsp;&amp;#39;否&amp;#39;}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;支持账期:&amp;nbsp;{&amp;#39;是&amp;#39;&amp;nbsp;if&amp;nbsp;detail.support_credit&amp;nbsp;else&amp;nbsp;&amp;#39;否&amp;#39;}&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;print(f&amp;quot;\n【营销数据】&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;30天销量:&amp;nbsp;{detail.sales_30d}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;总销量:&amp;nbsp;{detail.total_sales}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;评价数:&amp;nbsp;{detail.evaluate_count}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;好评率:&amp;nbsp;{detail.good_rate}%&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;JSON
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;api.export_to_json(detail)&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font: inherit; letter-spacing: 0.5px; text-wrap-mode: nowrap; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;&quot;&gt;&lt;/div&gt;&lt;hr style=&quot;font-size: inherit; letter-spacing: 0.5px; text-wrap-mode: nowrap; font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 style=&quot;font-size: 20px; letter-spacing: 0px; text-wrap-mode: nowrap; font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;四、主流电商平台 API 接口对比&lt;/h2&gt;&lt;h3 style=&quot;font-size: 18px; letter-spacing: 0px; text-wrap-mode: nowrap; font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;4.1 平台接口体系概览&lt;/h3&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font: inherit; letter-spacing: 0.5px; text-wrap-mode: wrap; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; vertical-align: baseline; max-width: 100%; width: max-content; position: relative;&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;平台&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;核心详情接口&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;特色字段&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;认证要求&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;1688&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;alibaba.product.get&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;阶梯价、起订量、代发价、工厂信息&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;企业认证&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;淘宝/天猫&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;taobao.item.get&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;优惠券、天猫积分、物流模板&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;个人/企业&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;京东&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;jd.item.get&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;京东价、PLUS 价、自营标识&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;企业认证&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;拼多多&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;pdd.goods.detail.get&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;拼单价、百亿补贴、成团价&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;企业认证&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;抖音电商&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;douyin.product.detail&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;直播价、达人佣金、短视频挂车&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;企业认证&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;亚马逊&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;GetMatchingProduct&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;ASIN、BuyBox、FBA 费用&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;开发者账号&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 style=&quot;font-size: 18px; letter-spacing: 0px; text-wrap-mode: nowrap; font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;4.2 商品详情字段对比&lt;/h3&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font: inherit; letter-spacing: 0.5px; text-wrap-mode: wrap; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;#&amp;nbsp;各平台商品详情字段映射对比PLATFORM_FIELD_MAP&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;1688&amp;quot;:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;商品ID&amp;quot;:&amp;nbsp;&amp;quot;productId&amp;nbsp;/&amp;nbsp;num_iid&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;标题&amp;quot;:&amp;nbsp;&amp;quot;subject&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;售价&amp;quot;:&amp;nbsp;&amp;quot;priceRanges[0].price&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;批发阶梯价&amp;quot;:&amp;nbsp;&amp;quot;priceRanges&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;起订量&amp;quot;:&amp;nbsp;&amp;quot;saleInfo.minOrderQuantity&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;代发价&amp;quot;:&amp;nbsp;&amp;quot;tradeServiceInfo.agentPrice&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;供应商&amp;quot;:&amp;nbsp;&amp;quot;supplier.companyName&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;诚信通等级&amp;quot;:&amp;nbsp;&amp;quot;supplier.creditLevel&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;工厂标识&amp;quot;:&amp;nbsp;&amp;quot;supplier.isFactory&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;发货地&amp;quot;:&amp;nbsp;&amp;quot;shippingInfo.sendGoodsAddress&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;重量&amp;quot;:&amp;nbsp;&amp;quot;shippingInfo.unitWeight&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;SKU价格&amp;quot;:&amp;nbsp;&amp;quot;skuInfo.skuMap.*.price&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;30天销量&amp;quot;:&amp;nbsp;&amp;quot;saleCount&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;支持混批&amp;quot;:&amp;nbsp;&amp;quot;tradeServiceInfo.supportMix&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;支持代发&amp;quot;:&amp;nbsp;&amp;quot;tradeServiceInfo.supportAgent&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;taobao&amp;quot;:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;商品ID&amp;quot;:&amp;nbsp;&amp;quot;num_iid&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;标题&amp;quot;:&amp;nbsp;&amp;quot;title&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;售价&amp;quot;:&amp;nbsp;&amp;quot;price&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;原价&amp;quot;:&amp;nbsp;&amp;quot;original_price&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;优惠券&amp;quot;:&amp;nbsp;&amp;quot;coupon_info&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;店铺名&amp;quot;:&amp;nbsp;&amp;quot;nick&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;店铺等级&amp;quot;:&amp;nbsp;&amp;quot;seller_credit_level&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;发货地&amp;quot;:&amp;nbsp;&amp;quot;location&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;邮费&amp;quot;:&amp;nbsp;&amp;quot;post_fee&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;SKU价格&amp;quot;:&amp;nbsp;&amp;quot;skus.*.price&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;月销量&amp;quot;:&amp;nbsp;&amp;quot;sold_quantity&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;库存&amp;quot;:&amp;nbsp;&amp;quot;num&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;天猫标识&amp;quot;:&amp;nbsp;&amp;quot;user_type&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;jd&amp;quot;:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;商品ID&amp;quot;:&amp;nbsp;&amp;quot;skuId&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;标题&amp;quot;:&amp;nbsp;&amp;quot;name&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;京东价&amp;quot;:&amp;nbsp;&amp;quot;jdPrice&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;PLUS价&amp;quot;:&amp;nbsp;&amp;quot;plusPrice&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;自营标识&amp;quot;:&amp;nbsp;&amp;quot;isSelf&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;店铺名&amp;quot;:&amp;nbsp;&amp;quot;shopName&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;好评率&amp;quot;:&amp;nbsp;&amp;quot;goodRate&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;评论数&amp;quot;:&amp;nbsp;&amp;quot;commentCount&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;配送&amp;quot;:&amp;nbsp;&amp;quot;deliveryInfo&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;产地&amp;quot;:&amp;nbsp;&amp;quot;productArea&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;pdd&amp;quot;:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;商品ID&amp;quot;:&amp;nbsp;&amp;quot;goods_id&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;标题&amp;quot;:&amp;nbsp;&amp;quot;goods_name&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;拼单价&amp;quot;:&amp;nbsp;&amp;quot;min_group_price&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;单买价&amp;quot;:&amp;nbsp;&amp;quot;min_normal_price&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;百亿补贴&amp;quot;:&amp;nbsp;&amp;quot;is_billion_subsidy&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;店铺名&amp;quot;:&amp;nbsp;&amp;quot;mall_name&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;销量&amp;quot;:&amp;nbsp;&amp;quot;sales_tip&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;成团人数&amp;quot;:&amp;nbsp;&amp;quot;group_required&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font: inherit; letter-spacing: 0.5px; text-wrap-mode: nowrap; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;&quot;&gt;&lt;/div&gt;&lt;h3 style=&quot;font-size: 18px; letter-spacing: 0px; text-wrap-mode: nowrap; font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;4.3 各平台 API 接入差异&lt;/h3&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font: inherit; letter-spacing: 0.5px; text-wrap-mode: wrap; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; vertical-align: baseline; max-width: 100%; width: max-content; position: relative;&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;维度&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;1688&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;淘宝/天猫&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;京东&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;拼多多&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;开发者类型&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;企业为主&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;个人/企业&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;企业&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;企业&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;审核周期&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;1-2 工作日&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;即时&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;3-5 工作日&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;1-3 工作日&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;免费额度&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;50 次/分钟&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;100 次/分钟&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;有限&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;有限&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;签名算法&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;MD5&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;MD5/HMAC&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;HMAC-SHA256&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;MD5&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;数据更新延迟&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;~2 分钟&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;~1 分钟&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;~5 分钟&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;~3 分钟&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;特色能力&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;批发价/工厂直供&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;淘客佣金/直播&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;自营物流&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;社交电商裂变&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr style=&quot;font-size: inherit; letter-spacing: 0.5px; text-wrap-mode: nowrap; font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 style=&quot;font-size: 20px; letter-spacing: 0px; text-wrap-mode: nowrap; font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;五、第三方聚合 API 方案&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-size: 16px; letter-spacing: 0px; white-space: pre-wrap; font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; max-width: 100%; word-break: break-word; text-shadow: none;&quot;&gt;由于官方 API 存在权限限制和字段分散的问题，实际开发中常使用第三方聚合 API 获取更完整的商品详情数据。&lt;div data-v-77c93641=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;pua-ref-renderer pua-ref-renderer--cite&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; white-space-collapse: collapse; display: inline-block;&quot;&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://www.crmeb.com/ask/thread/74768&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;CRMEB官网&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 style=&quot;font-size: 18px; letter-spacing: 0px; text-wrap-mode: nowrap; font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;5.1 第三方 API 优势&lt;/h3&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font: inherit; letter-spacing: 0.5px; text-wrap-mode: wrap; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; vertical-align: baseline; max-width: 100%; width: max-content; position: relative;&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;优势&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;说明&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;字段完整&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;整合包装信息、代发价、工厂资质等分散字段&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;无需企业认证&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;个人开发者即可使用&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;多平台统一&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;一套接口对接淘宝、1688、拼多多等多个平台&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;额外数据&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;提供物流分析、利润计算等增值字段&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 style=&quot;font-size: 18px; letter-spacing: 0px; text-wrap-mode: nowrap; font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;5.2 第三方 API 调用示例&lt;/h3&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font: inherit; letter-spacing: 0.5px; text-wrap-mode: wrap; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;import&amp;nbsp;requestsclass&amp;nbsp;ThirdParty1688API:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;第三方&amp;nbsp;1688&amp;nbsp;聚合&amp;nbsp;API&amp;nbsp;客户端
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;示例：使用&amp;nbsp;AliPrice&amp;nbsp;/&amp;nbsp;VV-Tool&amp;nbsp;等服务
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;__init__(self,&amp;nbsp;api_key:&amp;nbsp;str,&amp;nbsp;base_url:&amp;nbsp;str&amp;nbsp;=&amp;nbsp;&amp;quot;https://api.example.com&amp;quot;):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.api_key&amp;nbsp;=&amp;nbsp;api_key
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.base_url&amp;nbsp;=&amp;nbsp;base_url&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;get_item_detail(self,&amp;nbsp;num_iid:&amp;nbsp;str)&amp;nbsp;-&amp;gt;&amp;nbsp;dict:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&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;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;url&amp;nbsp;=&amp;nbsp;f&amp;quot;{self.base_url}/1688/item_get&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params&amp;nbsp;=&amp;nbsp;{
&amp;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;key&amp;quot;:&amp;nbsp;self.api_key,
&amp;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;num_iid&amp;quot;:&amp;nbsp;num_iid,
&amp;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;lang&amp;quot;:&amp;nbsp;&amp;quot;zh-CN&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;response&amp;nbsp;=&amp;nbsp;requests.get(url,&amp;nbsp;params=params,&amp;nbsp;timeout=30)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data&amp;nbsp;=&amp;nbsp;response.json()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;data.get(&amp;quot;code&amp;quot;)&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;item&amp;nbsp;=&amp;nbsp;data.get(&amp;quot;item&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;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;&amp;quot;product_id&amp;quot;:&amp;nbsp;item.get(&amp;quot;num_iid&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;title&amp;quot;:&amp;nbsp;item.get(&amp;quot;title&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;price&amp;quot;:&amp;nbsp;item.get(&amp;quot;price&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;original_price&amp;quot;:&amp;nbsp;item.get(&amp;quot;original_price&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;promotion_price&amp;quot;:&amp;nbsp;item.get(&amp;quot;promotion_price&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;包装信息（第三方&amp;nbsp;API&amp;nbsp;特有）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;weight&amp;quot;:&amp;nbsp;item.get(&amp;quot;weight&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;gross_weight&amp;quot;:&amp;nbsp;item.get(&amp;quot;grossWeight&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;packing&amp;quot;:&amp;nbsp;item.get(&amp;quot;packing&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;packing_size&amp;quot;:&amp;nbsp;item.get(&amp;quot;packingSize&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;carton_size&amp;quot;:&amp;nbsp;item.get(&amp;quot;cartonSize&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;quot;carton_qty&amp;quot;:&amp;nbsp;item.get(&amp;quot;cartonQty&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;代发信息
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;agent_price&amp;quot;:&amp;nbsp;item.get(&amp;quot;agent_price&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;agent_fee&amp;quot;:&amp;nbsp;item.get(&amp;quot;agent_fee&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;dropship_support&amp;quot;:&amp;nbsp;item.get(&amp;quot;is_support_dropship&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;供应商
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;supplier&amp;quot;:&amp;nbsp;item.get(&amp;quot;seller_nick&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;supplier_level&amp;quot;:&amp;nbsp;item.get(&amp;quot;seller_level&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;factory_cert&amp;quot;:&amp;nbsp;item.get(&amp;quot;factory_certification&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;SKU
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;skus&amp;quot;:&amp;nbsp;item.get(&amp;quot;skus&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;props_list&amp;quot;:&amp;nbsp;item.get(&amp;quot;props_list&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;图片
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;images&amp;quot;:&amp;nbsp;item.get(&amp;quot;item_imgs&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;desc_images&amp;quot;:&amp;nbsp;item.get(&amp;quot;desc_imgs&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;{&amp;quot;error&amp;quot;:&amp;nbsp;data.get(&amp;quot;msg&amp;quot;,&amp;nbsp;&amp;quot;请求失败&amp;quot;)}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font: inherit; letter-spacing: 0.5px; text-wrap-mode: nowrap; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;&quot;&gt;&lt;/div&gt;&lt;hr style=&quot;font-size: inherit; letter-spacing: 0.5px; text-wrap-mode: nowrap; font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 style=&quot;font-size: 20px; letter-spacing: 0px; text-wrap-mode: nowrap; font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;六、数据应用场景&lt;/h2&gt;&lt;h3 style=&quot;font-size: 18px; letter-spacing: 0px; text-wrap-mode: nowrap; font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;6.1 选品分析&lt;/h3&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font: inherit; letter-spacing: 0.5px; text-wrap-mode: wrap; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;def&amp;nbsp;analyze_product(product:&amp;nbsp;ProductDetail)&amp;nbsp;-&amp;gt;&amp;nbsp;dict:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;商品选品分析
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;计算利润率
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;product.price_ranges&amp;nbsp;and&amp;nbsp;product.price_ranges[0].price&amp;nbsp;&amp;gt;&amp;nbsp;0:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cost_price&amp;nbsp;=&amp;nbsp;product.price_ranges[0].price
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;suggested_retail&amp;nbsp;=&amp;nbsp;cost_price&amp;nbsp;*&amp;nbsp;2.5&amp;nbsp;&amp;nbsp;#&amp;nbsp;建议零售价
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;profit_margin&amp;nbsp;=&amp;nbsp;(suggested_retail&amp;nbsp;-&amp;nbsp;cost_price)&amp;nbsp;/&amp;nbsp;suggested_retail&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;{
&amp;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;product_id&amp;quot;:&amp;nbsp;product.product_id,
&amp;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;title&amp;quot;:&amp;nbsp;product.title,
&amp;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;cost_price&amp;quot;:&amp;nbsp;cost_price,
&amp;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;suggested_retail&amp;quot;:&amp;nbsp;suggested_retail,
&amp;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;profit_margin&amp;quot;:&amp;nbsp;f&amp;quot;{profit_margin*100:.1f}%&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;moq&amp;quot;:&amp;nbsp;product.min_order_quantity,
&amp;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;is_dropship&amp;quot;:&amp;nbsp;product.support_agent,
&amp;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;supplier_level&amp;quot;:&amp;nbsp;product.supplier.credit_level,
&amp;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;recommendation&amp;quot;:&amp;nbsp;&amp;quot;推荐&amp;quot;&amp;nbsp;if&amp;nbsp;profit_margin&amp;nbsp;&amp;gt;&amp;nbsp;0.5&amp;nbsp;and&amp;nbsp;product.support_agent&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;{}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font: inherit; letter-spacing: 0.5px; text-wrap-mode: nowrap; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;&quot;&gt;&lt;/div&gt;&lt;h3 style=&quot;font-size: 18px; letter-spacing: 0px; text-wrap-mode: nowrap; font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;6.2 物流成本估算&lt;/h3&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font: inherit; letter-spacing: 0.5px; text-wrap-mode: wrap; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;def&amp;nbsp;estimate_shipping_cost(product:&amp;nbsp;ProductDetail,&amp;nbsp;destination:&amp;nbsp;str)&amp;nbsp;-&amp;gt;&amp;nbsp;dict:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;估算物流成本
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;shipping&amp;nbsp;=&amp;nbsp;product.shipping&amp;nbsp;&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;shipping.package_size:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dims&amp;nbsp;=&amp;nbsp;[float(x)&amp;nbsp;for&amp;nbsp;x&amp;nbsp;in&amp;nbsp;shipping.package_size.split(&amp;#39;x&amp;#39;)]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;len(dims)&amp;nbsp;==&amp;nbsp;3:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;l,&amp;nbsp;w,&amp;nbsp;h&amp;nbsp;=&amp;nbsp;dims
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volume_weight&amp;nbsp;=&amp;nbsp;(l&amp;nbsp;*&amp;nbsp;w&amp;nbsp;*&amp;nbsp;h)&amp;nbsp;/&amp;nbsp;5000&amp;nbsp;&amp;nbsp;#&amp;nbsp;体积重系数&amp;nbsp;1:5000
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&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;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;actual_weight&amp;quot;:&amp;nbsp;shipping.unit_weight,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;volume_weight&amp;quot;:&amp;nbsp;round(volume_weight,&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;quot;chargeable_weight&amp;quot;:&amp;nbsp;max(shipping.unit_weight,&amp;nbsp;volume_weight),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;volume&amp;quot;:&amp;nbsp;shipping.volume,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;destination&amp;quot;:&amp;nbsp;destination,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;estimated_cost&amp;quot;:&amp;nbsp;&amp;quot;需调用运费模板&amp;nbsp;API&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;return&amp;nbsp;{}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font: inherit; letter-spacing: 0.5px; text-wrap-mode: nowrap; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;&quot;&gt;&lt;/div&gt;&lt;hr style=&quot;font-size: inherit; letter-spacing: 0.5px; text-wrap-mode: nowrap; font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 style=&quot;font-size: 20px; letter-spacing: 0px; text-wrap-mode: nowrap; font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;七、关键注意事项&lt;/h2&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font: inherit; letter-spacing: 0.5px; text-wrap-mode: wrap; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; vertical-align: baseline; max-width: 100%; width: max-content; position: relative;&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;注意事项&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;说明&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;企业认证&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;1688 官方 API 主要面向企业，个人权限受限&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;版本选择&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;2026 年使用 2.0 版本，1.0 不返回核心字段&lt;div data-v-77c93641=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;pua-ref-renderer pua-ref-renderer--cite&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; white-space-collapse: collapse; display: inline-block;&quot;&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://www.cnblogs.com/API-19970108110/p/19709387&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;博客园&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;IP 白名单&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;必须在开放平台配置请求服务器 IP&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;字段分散&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;包装信息等字段分布在多个子结构中，需完整解析&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;数据更新&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;商品信息实时变动，建议缓存 5-10 分钟&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;合规使用&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;仅用于自有业务分析，不得转售或恶意爬取&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr style=&quot;font-size: inherit; letter-spacing: 0.5px; text-wrap-mode: nowrap; font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 style=&quot;font-size: 20px; letter-spacing: 0px; text-wrap-mode: nowrap; font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;八、总结&lt;/h2&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font: inherit; letter-spacing: 0.5px; text-wrap-mode: wrap; scrollbar-color: rgba(0, 0, 0, 0.25) rgba(0, 0, 0, 0); margin: 0px 0px 16px; padding: 0px; border: 0px; vertical-align: baseline; max-width: 100%; width: max-content; position: relative;&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: rgba(0, 0, 0, 0.25) rgba(0, 0, 0, 0); margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: rgba(0, 0, 0, 0.25) rgba(0, 0, 0, 0); margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: rgba(0, 0, 0, 0.25) rgba(0, 0, 0, 0); margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;能力维度&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: rgba(0, 0, 0, 0.25) rgba(0, 0, 0, 0); margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;1688 特色&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;主流电商共性&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;价格体系&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;阶梯批发价、代发价、起订量&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;单件售价、促销价&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;供应链&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;工厂信息、诚信通、实力商家&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;店铺等级、自营标识&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;交易模式&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;混批、账期、跨境专供&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;零售、优惠券、积分&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;物流&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;重量体积、运费模板、发货地&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;快递、自提、次日达&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-size: 16px; letter-spacing: 0px; white-space: pre-wrap; font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; max-width: 100%; word-break: break-word; text-shadow: none;&quot;&gt;1688 的商品详情 API 是 B2B 电商数据的核心入口，掌握其全字段结构和解析方法，对于构建选品系统、供应链管理平台、跨境采购工具等业务场景至关重要。通过官方 API 与第三方聚合 API 的灵活组合，可以最大化数据获取的完整性和开发效率。&lt;/div&gt;&lt;div style=&quot;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;div data-v-77c93641=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;pua-ref-renderer pua-ref-renderer--cite&quot; style=&quot;font: inherit; letter-spacing: 0.5px; white-space: nowrap; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: inline-block;&quot;&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://blog.csdn.net/APIshop/article/details/160562934&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;CSDN博客&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span style=&quot;font-family:inherit&quot;&gt;&lt;span style=&quot;text-wrap-mode: nowrap; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; scrollbar-color: transparent transparent; border-style: initial; border-color: initial; border-image: initial;&quot;&gt;&lt;div data-v-cc94a637=&quot;&quot; class=&quot;okc-cards-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; flex-wrap: wrap; gap: 16px;&quot;&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div data-v-c32697f1=&quot;&quot; data-v-7811be09=&quot;&quot; class=&quot;segment-assistant-actions&quot; style=&quot;text-wrap-mode: nowrap; font: inherit; scrollbar-color: transparent transparent; margin: 20px 0px 0px; padding: 0px; border: 0px; vertical-align: baseline; width: 720.035px; height: 28px; display: flex; gap: 8px; transition: opacity 0.2s; justify-content: space-between; opacity: 1;&quot;&gt;&lt;div data-v-c32697f1=&quot;&quot; class=&quot;segment-assistant-actions-content&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 12px; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; height: 28px; display: flex; gap: 6px; align-items: center;&quot;&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-c32697f1=&quot;&quot; class=&quot;icon-button&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; text-wrap-mode: wrap; background-color: rgb(255, 255, 255); width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-c32697f1=&quot;&quot; class=&quot;icon-button&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; text-wrap-mode: wrap; background-color: rgb(255, 255, 255); width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Refresh&quot;&gt;&lt;path d=&quot;M303.104 315.392c114.688-114.688 303.104-114.688 417.792 0l-32.768 32.768c-20.48 20.48-4.096 57.344 24.576 57.344h118.784c16.384 0 32.768-16.384 32.768-32.768V253.952c0-28.672-36.864-45.056-57.344-24.576l-32.768 32.768c-143.36-143.36-376.832-143.36-520.192 0s-143.36 376.832 0 520.192 376.832 143.36 520.192 0c49.152-49.152 77.824-106.496 94.208-163.84 4.096-20.48-8.192-40.96-24.576-45.056-20.48-4.096-40.96 8.192-45.056 24.576-12.288 49.152-36.864 94.208-77.824 131.072-114.688 114.688-303.104 114.688-417.792 0-114.688-110.592-114.688-299.008 0-413.696z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-c32697f1=&quot;&quot; class=&quot;icon-button&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; text-wrap-mode: wrap; background-color: rgb(255, 255, 255); width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Share_a&quot;&gt;&lt;path d=&quot;M386.218667 247.850667c0-102.4 120.405333-157.397333 197.76-90.282667l304.426666 264.32a119.466667 119.466667 0 0 1 1.365334 179.285333l-304.469334 272.170667c-76.970667 68.778667-199.082667 14.122667-199.082666-89.088v-89.173333c-33.024 2.261333-59.306667 6.826667-83.2 15.36-30.592 10.88-61.866667 29.952-98.602667 67.712a76.8 76.8 0 0 1-131.84-53.504c0-98.645333 24.106667-190.976 83.712-261.888 55.253333-65.792 133.973333-104.789333 229.930667-117.845334V247.850667z m147.413333-32.256c-27.648-23.978667-70.613333-4.352-70.613333 32.256v126.208l-0.256 4.309333c-2.218667 21.504-20.437333 38.186667-42.410667 40.021333l-17.194667 1.706667c-173.994667 20.949333-253.824 136.405333-253.824 304.554667 86.997333-89.557333 163.925333-105.386667 270.933334-107.861334a42.026667 42.026667 0 0 1 42.752 42.24v125.226667c0 34.56 38.272 53.845333 65.706666 35.925333l5.376-4.096 304.426667-272.213333a42.666667 42.666667 0 0 0 2.986667-60.714667l-3.413334-3.285333-304.469333-264.277333z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-c32697f1=&quot;&quot; class=&quot;icon-button&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; text-wrap-mode: wrap; background-color: rgb(255, 255, 255); width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Like&quot;&gt;&lt;path d=&quot;M507.94496 118.70208L512 118.784c41.7792 0 88.92416 30.76096 114.36032 80.81408 25.23136 44.2368 25.64096 100.352 12.6976 159.04768h123.78112c95.4368 0 177.43872 82.98496 148.02944 178.33984l-76.96384 249.6512c-19.37408 62.79168-81.75616 102.1952-148.02944 102.1952h-298.1888a116.57216 116.57216 0 0 1-116.5312-116.57216V422.2976c0-35.2256 23.38816-61.27616 47.75936-73.85088a115.9168 115.9168 0 0 0 56.19712-62.464c7.5776-20.0704 10.60864-37.76512 13.80352-56.40192l1.35168-7.61856c3.44064-19.6608 8.35584-45.99808 26.624-67.74784 16.71168-19.94752 35.84-29.73696 55.17312-33.5872 13.27104-2.62144 27.97568-2.21184 35.88096-1.96608z m-21.54496 74.30144c-3.44064 0.69632-7.49568 2.048-13.06624 8.64256-4.01408 4.79232-6.79936 12.288-10.48576 33.1776l-1.2288 6.9632c-3.11296 18.51392-7.33184 43.13088-17.53088 70.20544a189.6448 189.6448 0 0 1-91.38176 102.03136 18.6368 18.6368 0 0 0-6.63552 5.44768c-1.14688 1.6384-1.2288 2.58048-1.2288 2.8672v349.92128c0 23.67488 19.2512 42.84416 42.88512 42.84416h298.14784c39.15776 0 69.2224-23.01952 77.57824-50.21696l76.96384-249.61024c11.18208-36.20864-18.80064-82.90304-77.57824-82.90304h-172.07296a36.864 36.864 0 0 1-35.06176-48.29184c23.3472-71.68 22.44608-120.832 6.3488-148.48a38.0928 38.0928 0 0 1-1.10592-2.048C545.30048 202.30144 520.31488 192.512 512 192.512c-2.90816 0-5.81632-0.08192-8.27392-0.12288h-0.45056a264.6016 264.6016 0 0 0-7.12704-0.12288c-4.34176 0-7.3728 0.24576-9.74848 0.73728zM184.32 385.024a36.864 36.864 0 0 1 36.864 36.864v409.6a36.864 36.864 0 1 1-73.728 0v-409.6a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-c32697f1=&quot;&quot; class=&quot;icon-button&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; text-wrap-mode: wrap; background-color: rgb(255, 255, 255); width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Dislike&quot;&gt;&lt;path d=&quot;M516.096 905.216l4.05504 0.08192c7.90528 0.24576 22.60992 0.65536 35.88096-1.96608 19.33312-3.85024 38.5024-13.63968 55.21408-33.5872 18.2272-21.74976 23.1424-48.08704 26.624-67.74784l1.31072-7.61856c3.19488-18.6368 6.22592-36.29056 13.80352-56.40192a115.9168 115.9168 0 0 1 56.19712-62.464c24.3712-12.57472 47.75936-38.58432 47.75936-73.85088V251.74016A116.57216 116.57216 0 0 0 640.36864 135.168h-298.1888c-66.23232 0-128.6144 39.40352-147.98848 102.1952l-77.0048 249.6512c-29.36832 95.35488 52.67456 178.33984 148.0704 178.33984h123.74016c-12.9024 58.65472-12.4928 114.85184 12.6976 159.08864 25.47712 49.9712 72.66304 80.77312 114.40128 80.77312z m38.66624-82.86208c-5.57056 6.59456-9.6256 7.94624-13.06624 8.64256-2.41664 0.49152-5.40672 0.73728-9.74848 0.73728-2.17088 0-4.42368 0-7.12704-0.12288h-0.45056c-2.4576-0.04096-5.36576-0.12288-8.27392-0.12288-8.31488 0-33.30048-9.74848-48.9472-41.04192a37.6832 37.6832 0 0 0-1.10592-2.048c-16.09728-27.68896-16.9984-76.8 6.3488-148.48a36.864 36.864 0 0 0-35.0208-48.29184H265.25696c-58.7776 0-88.76032-46.6944-77.57824-82.90304l77.0048-249.61024c8.35584-27.19744 38.37952-50.21696 77.53728-50.21696h298.1888c23.63392 0 42.8032 19.16928 42.8032 42.84416v349.92128c0 0.28672-0.04096 1.2288-1.2288 2.8672a18.59584 18.59584 0 0 1-6.5536 5.44768 189.6448 189.6448 0 0 0-91.42272 101.9904c-10.24 27.11552-14.41792 51.73248-17.57184 70.20544l-1.2288 7.04512c-3.6864 20.8896-6.43072 28.34432-10.4448 33.1776zM806.912 602.112a36.864 36.864 0 0 0 73.728 0v-409.6a36.864 36.864 0 1 0-73.728 0v409.6z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Thu, 28 May 2026 15:23:51 +0800</pubDate></item><item><title>Python 获取 1688 商品采集 API 接口 | 工厂货源自动化对接商品信息 | 无需选品</title><link>https://jelenaapi.com/?id=119</link><description>&lt;p&gt;在跨境电商和供应链管理中，1688 作为国内最大的 B2B 工厂货源平台，拥有海量商品数据。传统的人工选品方式效率低下、容易出错，而通过 API 接口实现自动化采集，可以彻底解放人力，实现&amp;quot;无需选品&amp;quot;的智能货源对接。本文将深入讲解如何使用 Python 对接 1688 商品采集 API，构建工厂货源自动化在跨境电商和供应链管理中，1688 作为国内最大的 B2B 工厂货源平台，拥有海量商品数据。传统的人工选品方式效率低下、容易出错，而通过 API 接口实现自动化采集，可以彻底解放人力，实现&amp;quot;无需选品&amp;quot;的智能货源对接。本文将深入讲解如何使用 Python 对接 1688 商品采集 API，构建工厂货源自动化系统。&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://developer.aliyun.com/article/1722133&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;阿里云开发者社区&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;margin: 0px 4px;padding: 1px 8px;border: 0px;vertical-align: baseline;-webkit-user-drag: none;box-sizing: border-box;position: relative;top: -1px;cursor: pointer;user-select: none;max-width: 100px;min-width: 18px;height: 24px;display: inline-flex;align-items: center;justify-content: center;border-radius: 24px;background-color: rgba(0, 0, 0, 0.05);transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out;color: rgb(23, 131, 255);text-wrap-mode: nowrap&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;hr style=&quot;font-size: inherit;letter-spacing: 0.5px;text-wrap-mode: nowrap;font-family: inherit;scrollbar-color: transparent transparent;margin-bottom: 32px;margin-top: 32px;border-right: none;border-bottom: none;border-left: none;border-image: initial;border-top: 1.11111px solid rgba(0, 0, 0, 0.13)&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-size: 20px;letter-spacing: 0px;text-wrap-mode: nowrap;font-family: inherit;scrollbar-color: transparent transparent;margin: 24px 0px 16px;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: 32px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;一、方案概述：为什么需要自动化采集？&lt;/h2&gt;&lt;h3 class=&quot;&quot; style=&quot;font-size: 18px;letter-spacing: 0px;text-wrap-mode: nowrap;font-family: inherit;scrollbar-color: transparent transparent;margin: 24px 0px 16px;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: 28px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;1.1 传统选品的痛点&lt;/h3&gt;&lt;p&gt;&lt;header data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;vertical-align: baseline;z-index: 1;background-color: rgb(255, 255, 255);position: sticky;left: 0px;top: 0px&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: 600;font-stretch: inherit;line-height: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline;flex: 1 1 0%;margin: 0px 10px 0px 0px !important&quot;&gt;表格&lt;/span&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/header&gt;&lt;/p&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px;border-right-style: initial;border-bottom-style: initial;border-left-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: initial;font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;text-align: left;max-width: 480px;white-space-collapse: preserve&quot;&gt;痛点&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;text-align: left;max-width: 480px;white-space-collapse: preserve&quot;&gt;影响&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;text-align: left;max-width: 480px;white-space-collapse: preserve&quot;&gt;解决方案&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px;border-right-style: initial;border-bottom-style: initial;border-left-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: initial;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;手动翻页比价&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;耗时耗力，效率低下&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;API 批量采集&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px;border-right-style: initial;border-bottom-style: initial;border-left-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: initial;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;数据不及时&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;错过最佳拿货时机&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;实时监控更新&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px;border-right-style: initial;border-bottom-style: initial;border-left-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: initial;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;信息不完整&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;SKU、库存、代发价遗漏&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;全字段自动获取&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px;border-right-style: initial;border-bottom-style: initial;border-left-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: initial;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;多平台操作&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;重复劳动，容易出错&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;一键铺货对接&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px;border-right-style: initial;border-bottom-style: initial;border-left-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: initial;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;反爬限制&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;IP 封禁，数据中断&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;官方合规接口&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h3 class=&quot;&quot; style=&quot;font-size: 18px;letter-spacing: 0px;text-wrap-mode: nowrap;font-family: inherit;scrollbar-color: transparent transparent;margin: 24px 0px 16px;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: 28px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;1.2 自动化采集的核心优势&lt;/h3&gt;&lt;p&gt;通过 API 接口实现 1688 商品采集，可以：&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://developer.aliyun.com/article/1722133&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;阿里云开发者社区&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;margin: 0px 4px;padding: 1px 8px;border: 0px;vertical-align: baseline;-webkit-user-drag: none;box-sizing: border-box;position: relative;top: -1px;cursor: pointer;user-select: none;max-width: 100px;min-width: 18px;height: 24px;display: inline-flex;align-items: center;justify-content: center;border-radius: 24px;background-color: rgba(0, 0, 0, 0.05);transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out;color: rgb(23, 131, 255);text-wrap-mode: nowrap&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;ul start=&quot;1&quot; style=&quot;font: inherit;letter-spacing: 0.5px;text-wrap-mode: nowrap;scrollbar-color: transparent transparent;margin-bottom: 16px;padding: 0px 0px 0px 26px;border: 0px;vertical-align: baseline;list-style-position: initial;list-style-image: initial&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: 600;font-stretch: inherit;font-size: inherit;line-height: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;无需人工选品&lt;/span&gt;：设定规则后系统自动筛选符合条件的商品&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: 600;font-stretch: inherit;font-size: inherit;line-height: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;实时数据同步&lt;/span&gt;：价格、库存、销量变动自动更新&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: 600;font-stretch: inherit;font-size: inherit;line-height: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;全字段获取&lt;/span&gt;：标题、价格、SKU、主图、详情、销量、代发价一次性获取&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: 600;font-stretch: inherit;font-size: inherit;line-height: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;多平台铺货&lt;/span&gt;：采集后直接上架到淘宝、拼多多、抖音、跨境平台&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: 600;font-stretch: inherit;font-size: inherit;line-height: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;7×24 小时监控&lt;/span&gt;：自动发现爆款、价格预警、库存提醒&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr style=&quot;font-size: inherit;letter-spacing: 0.5px;text-wrap-mode: nowrap;font-family: inherit;scrollbar-color: transparent transparent;margin-bottom: 32px;margin-top: 32px;border-right: none;border-bottom: none;border-left: none;border-image: initial;border-top: 1.11111px solid rgba(0, 0, 0, 0.13)&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-size: 20px;letter-spacing: 0px;text-wrap-mode: nowrap;font-family: inherit;scrollbar-color: transparent transparent;margin: 24px 0px 16px;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: 32px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;二、1688 商品采集 API 体系&lt;/h2&gt;&lt;p&gt;1688 开放平台及第三方数据服务提供了丰富的商品采集接口：&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://blog.csdn.net/Jernnifer_mao/article/details/139554851&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;CSDN博客&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;margin: 0px 4px;padding: 1px 8px;border: 0px;vertical-align: baseline;-webkit-user-drag: none;box-sizing: border-box;position: relative;top: -1px;cursor: pointer;user-select: none;max-width: 100px;min-width: 18px;height: 24px;display: inline-flex;align-items: center;justify-content: center;border-radius: 24px;background-color: rgba(0, 0, 0, 0.05);transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out;color: rgb(23, 131, 255);text-wrap-mode: nowrap&quot;&gt;&lt;/a&gt;&lt;header data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;vertical-align: baseline;z-index: 1;background-color: rgb(255, 255, 255);position: sticky;left: 0px;top: 0px&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: 600;font-stretch: inherit;line-height: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline;flex: 1 1 0%;margin: 0px 10px 0px 0px !important&quot;&gt;表格&lt;/span&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/header&gt;&lt;/p&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px;border-right-style: initial;border-bottom-style: initial;border-left-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: initial;font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;text-align: left;max-width: 480px;white-space-collapse: preserve&quot;&gt;接口&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;text-align: left;max-width: 480px;white-space-collapse: preserve&quot;&gt;功能&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;text-align: left;max-width: 480px;white-space-collapse: preserve&quot;&gt;适用场景&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px;border-right-style: initial;border-bottom-style: initial;border-left-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: initial;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;margin: 0px 4px;padding: 2px 6px;border: 0px;vertical-align: baseline;background-color: rgba(0, 0, 0, 0.03);border-radius: 4px;max-width: 100%;text-shadow: none;overflow: auto&quot;&gt;item_get&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;获取单个商品详情&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;深度分析、SKU 监控&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px;border-right-style: initial;border-bottom-style: initial;border-left-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: initial;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;margin: 0px 4px;padding: 2px 6px;border: 0px;vertical-align: baseline;background-color: rgba(0, 0, 0, 0.03);border-radius: 4px;max-width: 100%;text-shadow: none;overflow: auto&quot;&gt;item_search&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;按关键词搜索商品&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;批量选品、类目采集&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px;border-right-style: initial;border-bottom-style: initial;border-left-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: initial;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;margin: 0px 4px;padding: 2px 6px;border: 0px;vertical-align: baseline;background-color: rgba(0, 0, 0, 0.03);border-radius: 4px;max-width: 100%;text-shadow: none;overflow: auto&quot;&gt;item_search_img&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;按图搜索商品（拍立淘）&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;找同款、竞品分析&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px;border-right-style: initial;border-bottom-style: initial;border-left-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: initial;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;margin: 0px 4px;padding: 2px 6px;border: 0px;vertical-align: baseline;background-color: rgba(0, 0, 0, 0.03);border-radius: 4px;max-width: 100%;text-shadow: none;overflow: auto&quot;&gt;item_search_shop&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;获取店铺所有商品&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;整店采集、供应商管理&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px;border-right-style: initial;border-bottom-style: initial;border-left-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: initial;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;margin: 0px 4px;padding: 2px 6px;border: 0px;vertical-align: baseline;background-color: rgba(0, 0, 0, 0.03);border-radius: 4px;max-width: 100%;text-shadow: none;overflow: auto&quot;&gt;item_search_suggest&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;获取搜索词推荐&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;SEO 优化、关键词挖掘&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px;border-right-style: initial;border-bottom-style: initial;border-left-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: initial;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;margin: 0px 4px;padding: 2px 6px;border: 0px;vertical-align: baseline;background-color: rgba(0, 0, 0, 0.03);border-radius: 4px;max-width: 100%;text-shadow: none;overflow: auto&quot;&gt;item_fee&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;获取商品快递费用&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;运费核算、利润计算&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px;border-right-style: initial;border-bottom-style: initial;border-left-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: initial;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;margin: 0px 4px;padding: 2px 6px;border: 0px;vertical-align: baseline;background-color: rgba(0, 0, 0, 0.03);border-radius: 4px;max-width: 100%;text-shadow: none;overflow: auto&quot;&gt;seller_info&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;获取店铺详情&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;供应商资质审核&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px;border-right-style: initial;border-bottom-style: initial;border-left-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: initial;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;margin: 0px 4px;padding: 2px 6px;border: 0px;vertical-align: baseline;background-color: rgba(0, 0, 0, 0.03);border-radius: 4px;max-width: 100%;text-shadow: none;overflow: auto&quot;&gt;item_password&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;淘口令解析&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;链接转换、推广分析&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px;border-right-style: initial;border-bottom-style: initial;border-left-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: initial;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;margin: 0px 4px;padding: 2px 6px;border: 0px;vertical-align: baseline;background-color: rgba(0, 0, 0, 0.03);border-radius: 4px;max-width: 100%;text-shadow: none;overflow: auto&quot;&gt;cat_get&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;获取商品分类&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;类目导航、数据归类&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;hr style=&quot;font-size: inherit;letter-spacing: 0.5px;text-wrap-mode: nowrap;font-family: inherit;scrollbar-color: transparent transparent;margin-bottom: 32px;margin-top: 32px;border-right: none;border-bottom: none;border-left: none;border-image: initial;border-top: 1.11111px solid rgba(0, 0, 0, 0.13)&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-size: 20px;letter-spacing: 0px;text-wrap-mode: nowrap;font-family: inherit;scrollbar-color: transparent transparent;margin: 24px 0px 16px;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: 32px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;三、环境准备与依赖安装&lt;/h2&gt;&lt;p&gt;&lt;header data-v-0c50899f=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;vertical-align: baseline;z-index: 1;background-color: rgb(255, 255, 255);position: sticky;left: 0px;top: 0px&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: 600;font-stretch: inherit;line-height: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline;flex: 1 1 0%&quot;&gt;bash&lt;/span&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px 2px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 20px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;复制&lt;/span&gt;&lt;/header&gt;&lt;/p&gt;&lt;pre data-v-efb858b9=&quot;&quot; style=&quot;font-family: &amp;#39;Fira Code&amp;#39;, &amp;#39;Fira Mono&amp;#39;, Menlo, Consolas, &amp;#39;DejaVu Sans Mono&amp;#39;, monospace;scrollbar-color: transparent transparent;padding: 16px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;font-size: inherit;line-height: 1.5;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline;color: rgb(26, 26, 26);direction: ltr;word-spacing: normal;hyphens: none;overflow: auto;border-radius: 0px;background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255)&quot;&gt;#&amp;nbsp;安装必要的&amp;nbsp;Python&amp;nbsp;库&amp;nbsp;pip&amp;nbsp;install&amp;nbsp;requests&amp;nbsp;pip&amp;nbsp;install&amp;nbsp;pandas&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;数据处理与导出&amp;nbsp;pip&amp;nbsp;install&amp;nbsp;openpyxl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;Excel&amp;nbsp;导出支持&amp;nbsp;pip&amp;nbsp;install&amp;nbsp;schedule&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;定时任务&amp;nbsp;pip&amp;nbsp;install&amp;nbsp;python-dotenv&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;环境变量管理&amp;nbsp;pip&amp;nbsp;install&amp;nbsp;loguru&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;hr style=&quot;font-size: inherit;letter-spacing: 0.5px;text-wrap-mode: nowrap;font-family: inherit;scrollbar-color: transparent transparent;margin-bottom: 32px;margin-top: 32px;border-right: none;border-bottom: none;border-left: none;border-image: initial;border-top: 1.11111px solid rgba(0, 0, 0, 0.13)&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-size: 20px;letter-spacing: 0px;text-wrap-mode: nowrap;font-family: inherit;scrollbar-color: transparent transparent;margin: 24px 0px 16px;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: 32px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;四、核心实现：商品采集 API 客户端&lt;/h2&gt;&lt;h3 class=&quot;&quot; style=&quot;font-size: 18px;letter-spacing: 0px;text-wrap-mode: nowrap;font-family: inherit;scrollbar-color: transparent transparent;margin: 24px 0px 16px;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: 28px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;4.1 基础 API 客户端&lt;/h3&gt;&lt;p&gt;&lt;header data-v-0c50899f=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;vertical-align: baseline;z-index: 1;background-color: rgb(255, 255, 255);position: sticky;left: 0px;top: 0px&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: 600;font-stretch: inherit;line-height: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline;flex: 1 1 0%&quot;&gt;Python&lt;/span&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px 2px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 20px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;复制&lt;/span&gt;&lt;/header&gt;&lt;/p&gt;&lt;pre data-v-efb858b9=&quot;&quot; style=&quot;font-family: &amp;#39;Fira Code&amp;#39;, &amp;#39;Fira Mono&amp;#39;, Menlo, Consolas, &amp;#39;DejaVu Sans Mono&amp;#39;, monospace;scrollbar-color: transparent transparent;padding: 16px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;font-size: inherit;line-height: 1.5;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline;color: rgb(26, 26, 26);direction: ltr;word-spacing: normal;hyphens: none;overflow: auto;border-radius: 0px;background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255)&quot;&gt;#&amp;nbsp;-*-&amp;nbsp;coding:&amp;nbsp;utf-8&amp;nbsp;-*-&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;1688&amp;nbsp;商品采集&amp;nbsp;API&amp;nbsp;客户端&amp;nbsp;支持：商品详情获取、关键词搜索、店铺采集、图片搜索&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;import&amp;nbsp;requests&amp;nbsp;import&amp;nbsp;hashlib&amp;nbsp;import&amp;nbsp;time&amp;nbsp;import&amp;nbsp;json&amp;nbsp;import&amp;nbsp;os&amp;nbsp;from&amp;nbsp;typing&amp;nbsp;import&amp;nbsp;List,&amp;nbsp;Dict,&amp;nbsp;Optional,&amp;nbsp;Callable&amp;nbsp;from&amp;nbsp;dataclasses&amp;nbsp;import&amp;nbsp;dataclass,&amp;nbsp;asdict&amp;nbsp;from&amp;nbsp;datetime&amp;nbsp;import&amp;nbsp;datetime&amp;nbsp;from&amp;nbsp;urllib.parse&amp;nbsp;import&amp;nbsp;urlencode&amp;nbsp;from&amp;nbsp;loguru&amp;nbsp;import&amp;nbsp;logger&amp;nbsp;@dataclass&amp;nbsp;class&amp;nbsp;ProductItem:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;1688&amp;nbsp;商品数据结构&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_id:&amp;nbsp;str&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;title:&amp;nbsp;str&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price:&amp;nbsp;float&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;original_price:&amp;nbsp;float&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wholesale_price:&amp;nbsp;float&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;批发价&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;agent_price:&amp;nbsp;float&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;代发价&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;min_order:&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;&amp;nbsp;#&amp;nbsp;最小起订量&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;unit:&amp;nbsp;str&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stock:&amp;nbsp;int&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sales_30d:&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;&amp;nbsp;#&amp;nbsp;30天销量&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;total_sales:&amp;nbsp;int&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;location:&amp;nbsp;str&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;发货地&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;supplier_name:&amp;nbsp;str&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;supplier_id:&amp;nbsp;str&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;supplier_level:&amp;nbsp;str&amp;nbsp;&amp;nbsp;&amp;nbsp;&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_support_mix:&amp;nbsp;bool&amp;nbsp;&amp;nbsp;&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_support_agent:&amp;nbsp;bool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;是否支持一件代发&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;main_image:&amp;nbsp;str&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;images:&amp;nbsp;List[str]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;detail_url:&amp;nbsp;str&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;category:&amp;nbsp;str&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;attributes:&amp;nbsp;Dict[str,&amp;nbsp;str]&amp;nbsp;&amp;nbsp;#&amp;nbsp;商品属性&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;skus:&amp;nbsp;List[Dict]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;SKU&amp;nbsp;规格&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;create_time:&amp;nbsp;str&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;update_time:&amp;nbsp;str&amp;nbsp;class&amp;nbsp;Alibaba1688Collector:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1688&amp;nbsp;商品采集器&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;支持官方&amp;nbsp;API&amp;nbsp;和第三方数据服务&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;__init__(self,&amp;nbsp;api_key:&amp;nbsp;str,&amp;nbsp;api_secret:&amp;nbsp;str,&amp;nbsp;base_url:&amp;nbsp;Optional[str]&amp;nbsp;=&amp;nbsp;None):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&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;&amp;nbsp;&amp;nbsp;Args:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;api_key:&amp;nbsp;API&amp;nbsp;调用&amp;nbsp;Key&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;api_secret:&amp;nbsp;API&amp;nbsp;调用密钥&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;base_url:&amp;nbsp;API&amp;nbsp;基础地址（默认使用第三方服务地址）&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.api_key&amp;nbsp;=&amp;nbsp;api_key&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.api_secret&amp;nbsp;=&amp;nbsp;api_secret&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.base_url&amp;nbsp;=&amp;nbsp;base_url&amp;nbsp;or&amp;nbsp;&amp;quot;https://api.openclaw.com/1688&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.session&amp;nbsp;=&amp;nbsp;requests.Session()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.session.headers.update({&amp;nbsp;&amp;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;Accept&amp;quot;:&amp;nbsp;&amp;quot;application/json&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;Content-Type&amp;quot;:&amp;nbsp;&amp;quot;application/x-www-form-urlencoded;charset=utf-8&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;&amp;nbsp;&amp;nbsp;#&amp;nbsp;请求统计&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.request_count&amp;nbsp;=&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.success_count&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;logger.info(f&amp;quot;1688&amp;nbsp;采集器初始化完成&amp;nbsp;|&amp;nbsp;接口地址:&amp;nbsp;{self.base_url}&amp;quot;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;_generate_sign(self,&amp;nbsp;params:&amp;nbsp;dict)&amp;nbsp;-&amp;gt;&amp;nbsp;str:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;生成&amp;nbsp;API&amp;nbsp;签名（MD5）&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;规则：参数按&amp;nbsp;key&amp;nbsp;排序后拼接&amp;nbsp;+&amp;nbsp;secret，整体&amp;nbsp;MD5&amp;nbsp;大写&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sorted_params&amp;nbsp;=&amp;nbsp;sorted(params.items(),&amp;nbsp;key=lambda&amp;nbsp;x:&amp;nbsp;x[0])&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;param_str&amp;nbsp;=&amp;nbsp;&amp;quot;&amp;quot;.join([f&amp;quot;{k}{v}&amp;quot;&amp;nbsp;for&amp;nbsp;k,&amp;nbsp;v&amp;nbsp;in&amp;nbsp;sorted_params])&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sign_str&amp;nbsp;=&amp;nbsp;f&amp;quot;{self.api_secret}{param_str}{self.api_secret}&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;hashlib.md5(sign_str.encode(&amp;#39;utf-8&amp;#39;)).hexdigest().upper()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;_request(self,&amp;nbsp;api_name:&amp;nbsp;str,&amp;nbsp;params:&amp;nbsp;dict,&amp;nbsp;timeout:&amp;nbsp;int&amp;nbsp;=&amp;nbsp;30)&amp;nbsp;-&amp;gt;&amp;nbsp;dict:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;发送&amp;nbsp;API&amp;nbsp;请求&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Args:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;api_name:&amp;nbsp;API&amp;nbsp;接口名称（如&amp;nbsp;item_get,&amp;nbsp;item_search）&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params:&amp;nbsp;业务参数&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;timeout:&amp;nbsp;请求超时时间&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Returns:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;API&amp;nbsp;响应字典&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&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;common_params&amp;nbsp;=&amp;nbsp;{&amp;nbsp;&amp;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;key&amp;quot;:&amp;nbsp;self.api_key,&amp;nbsp;&amp;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;api_name&amp;quot;:&amp;nbsp;api_name,&amp;nbsp;&amp;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;timestamp&amp;quot;:&amp;nbsp;int(time.time()),&amp;nbsp;&amp;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;format&amp;quot;:&amp;nbsp;&amp;quot;json&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;lang&amp;quot;:&amp;nbsp;&amp;quot;cn&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;common_params.update(params)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;生成签名&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;common_params[&amp;quot;sign&amp;quot;]&amp;nbsp;=&amp;nbsp;self._generate_sign(common_params)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;url&amp;nbsp;=&amp;nbsp;f&amp;quot;{self.base_url}/{api_name}&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.request_count&amp;nbsp;+=&amp;nbsp;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;&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;response&amp;nbsp;=&amp;nbsp;self.session.get(url,&amp;nbsp;params=common_params,&amp;nbsp;timeout=timeout)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response.raise_for_status()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;response.json()&amp;nbsp;&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;result.get(&amp;quot;code&amp;quot;)&amp;nbsp;==&amp;nbsp;0&amp;nbsp;or&amp;nbsp;result.get(&amp;quot;code&amp;quot;)&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;self.success_count&amp;nbsp;+=&amp;nbsp;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;&amp;nbsp;&amp;nbsp;logger.debug(f&amp;quot;请求成功&amp;nbsp;|&amp;nbsp;API:&amp;nbsp;{api_name}&amp;nbsp;|&amp;nbsp;耗时:&amp;nbsp;{response.elapsed.total_seconds():.2f}s&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;return&amp;nbsp;result.get(&amp;quot;data&amp;quot;,&amp;nbsp;result)&amp;nbsp;&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;logger.warning(f&amp;quot;请求失败&amp;nbsp;|&amp;nbsp;API:&amp;nbsp;{api_name}&amp;nbsp;|&amp;nbsp;错误:&amp;nbsp;{result.get(&amp;#39;msg&amp;#39;,&amp;nbsp;&amp;#39;未知错误&amp;#39;)}&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;return&amp;nbsp;{&amp;quot;error&amp;quot;:&amp;nbsp;result.get(&amp;quot;msg&amp;quot;,&amp;nbsp;&amp;quot;请求失败&amp;quot;),&amp;nbsp;&amp;quot;code&amp;quot;:&amp;nbsp;result.get(&amp;quot;code&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;&amp;nbsp;except&amp;nbsp;requests.exceptions.Timeout:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;logger.error(f&amp;quot;请求超时&amp;nbsp;|&amp;nbsp;API:&amp;nbsp;{api_name}&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;return&amp;nbsp;{&amp;quot;error&amp;quot;:&amp;nbsp;&amp;quot;请求超时&amp;quot;,&amp;nbsp;&amp;quot;code&amp;quot;:&amp;nbsp;-1}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except&amp;nbsp;requests.exceptions.RequestException&amp;nbsp;as&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;logger.error(f&amp;quot;请求异常&amp;nbsp;|&amp;nbsp;API:&amp;nbsp;{api_name}&amp;nbsp;|&amp;nbsp;{str(e)}&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;return&amp;nbsp;{&amp;quot;error&amp;quot;:&amp;nbsp;str(e),&amp;nbsp;&amp;quot;code&amp;quot;:&amp;nbsp;-2}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;get_item_detail(self,&amp;nbsp;num_iid:&amp;nbsp;str,&amp;nbsp;get_sales:&amp;nbsp;bool&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;get_agent:&amp;nbsp;bool&amp;nbsp;=&amp;nbsp;True)&amp;nbsp;-&amp;gt;&amp;nbsp;Optional[ProductItem]:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&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;&amp;nbsp;&amp;nbsp;Args:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;num_iid:&amp;nbsp;1688&amp;nbsp;商品数字&amp;nbsp;ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;get_sales:&amp;nbsp;是否获取销量数据&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;get_agent:&amp;nbsp;是否获取代发价格&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Returns:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ProductItem&amp;nbsp;对象&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params&amp;nbsp;=&amp;nbsp;{&amp;nbsp;&amp;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;num_iid&amp;quot;:&amp;nbsp;num_iid,&amp;nbsp;&amp;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;sales_data&amp;quot;:&amp;nbsp;1&amp;nbsp;if&amp;nbsp;get_sales&amp;nbsp;else&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;quot;agent&amp;quot;:&amp;nbsp;1&amp;nbsp;if&amp;nbsp;get_agent&amp;nbsp;else&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data&amp;nbsp;=&amp;nbsp;self._request(&amp;quot;item_get&amp;quot;,&amp;nbsp;params)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;quot;error&amp;quot;&amp;nbsp;in&amp;nbsp;data:&amp;nbsp;&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;None&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;self._parse_product(data)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;search_by_keyword(self,&amp;nbsp;keyword:&amp;nbsp;str,&amp;nbsp;page:&amp;nbsp;int&amp;nbsp;=&amp;nbsp;1,&amp;nbsp;page_size:&amp;nbsp;int&amp;nbsp;=&amp;nbsp;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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sort:&amp;nbsp;str&amp;nbsp;=&amp;nbsp;&amp;quot;sales&amp;quot;,&amp;nbsp;price_start:&amp;nbsp;Optional[float]&amp;nbsp;=&amp;nbsp;None,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price_end:&amp;nbsp;Optional[float]&amp;nbsp;=&amp;nbsp;None)&amp;nbsp;-&amp;gt;&amp;nbsp;List[ProductItem]:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&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;&amp;nbsp;&amp;nbsp;Args:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keyword:&amp;nbsp;搜索关键词&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;page:&amp;nbsp;页码&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;page_size:&amp;nbsp;每页数量（最大&amp;nbsp;50）&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sort:&amp;nbsp;排序方式（sales:销量,&amp;nbsp;price_asc:价格升序,&amp;nbsp;price_desc:价格降序,&amp;nbsp;credit:信用）&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price_start:&amp;nbsp;价格下限&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price_end:&amp;nbsp;价格上限&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Returns:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ProductItem&amp;nbsp;列表&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params&amp;nbsp;=&amp;nbsp;{&amp;nbsp;&amp;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;q&amp;quot;:&amp;nbsp;keyword,&amp;nbsp;&amp;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;page&amp;quot;:&amp;nbsp;page,&amp;nbsp;&amp;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;page_size&amp;quot;:&amp;nbsp;page_size,&amp;nbsp;&amp;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;sort&amp;quot;:&amp;nbsp;sort&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;price_start&amp;nbsp;is&amp;nbsp;not&amp;nbsp;None:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params[&amp;quot;start_price&amp;quot;]&amp;nbsp;=&amp;nbsp;price_start&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;price_end&amp;nbsp;is&amp;nbsp;not&amp;nbsp;None:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params[&amp;quot;end_price&amp;quot;]&amp;nbsp;=&amp;nbsp;price_end&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data&amp;nbsp;=&amp;nbsp;self._request(&amp;quot;item_search&amp;quot;,&amp;nbsp;params)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;quot;error&amp;quot;&amp;nbsp;in&amp;nbsp;data&amp;nbsp;or&amp;nbsp;&amp;quot;items&amp;quot;&amp;nbsp;not&amp;nbsp;in&amp;nbsp;data:&amp;nbsp;&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;[]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;[self._parse_product(item)&amp;nbsp;for&amp;nbsp;item&amp;nbsp;in&amp;nbsp;data.get(&amp;quot;items&amp;quot;,&amp;nbsp;[])]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;search_by_image(self,&amp;nbsp;image_url:&amp;nbsp;str,&amp;nbsp;page:&amp;nbsp;int&amp;nbsp;=&amp;nbsp;1)&amp;nbsp;-&amp;gt;&amp;nbsp;List[ProductItem]:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&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;&amp;nbsp;&amp;nbsp;Args:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;image_url:&amp;nbsp;图片&amp;nbsp;URL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;page:&amp;nbsp;页码&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Returns:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ProductItem&amp;nbsp;列表&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params&amp;nbsp;=&amp;nbsp;{&amp;nbsp;&amp;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;imgid&amp;quot;:&amp;nbsp;image_url,&amp;nbsp;&amp;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;page&amp;quot;:&amp;nbsp;page&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data&amp;nbsp;=&amp;nbsp;self._request(&amp;quot;item_search_img&amp;quot;,&amp;nbsp;params)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;quot;error&amp;quot;&amp;nbsp;in&amp;nbsp;data:&amp;nbsp;&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;[]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;[self._parse_product(item)&amp;nbsp;for&amp;nbsp;item&amp;nbsp;in&amp;nbsp;data.get(&amp;quot;items&amp;quot;,&amp;nbsp;[])]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;get_shop_items(self,&amp;nbsp;seller_id:&amp;nbsp;str,&amp;nbsp;page:&amp;nbsp;int&amp;nbsp;=&amp;nbsp;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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;page_size:&amp;nbsp;int&amp;nbsp;=&amp;nbsp;20)&amp;nbsp;-&amp;gt;&amp;nbsp;List[ProductItem]:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&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;&amp;nbsp;&amp;nbsp;Args:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;seller_id:&amp;nbsp;卖家&amp;nbsp;ID（供应商&amp;nbsp;ID）&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;page:&amp;nbsp;页码&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;page_size:&amp;nbsp;每页数量&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Returns:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ProductItem&amp;nbsp;列表&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params&amp;nbsp;=&amp;nbsp;{&amp;nbsp;&amp;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;seller_id&amp;quot;:&amp;nbsp;seller_id,&amp;nbsp;&amp;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;page&amp;quot;:&amp;nbsp;page,&amp;nbsp;&amp;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;page_size&amp;quot;:&amp;nbsp;page_size&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data&amp;nbsp;=&amp;nbsp;self._request(&amp;quot;item_search_shop&amp;quot;,&amp;nbsp;params)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;quot;error&amp;quot;&amp;nbsp;in&amp;nbsp;data:&amp;nbsp;&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;[]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;[self._parse_product(item)&amp;nbsp;for&amp;nbsp;item&amp;nbsp;in&amp;nbsp;data.get(&amp;quot;items&amp;quot;,&amp;nbsp;[])]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;_parse_product(self,&amp;nbsp;data:&amp;nbsp;dict)&amp;nbsp;-&amp;gt;&amp;nbsp;ProductItem:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;解析商品数据为结构化对象&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;ProductItem(&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_id=str(data.get(&amp;quot;num_iid&amp;quot;,&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;title=data.get(&amp;quot;title&amp;quot;,&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;price=float(data.get(&amp;quot;price&amp;quot;,&amp;nbsp;0)&amp;nbsp;or&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;original_price=float(data.get(&amp;quot;original_price&amp;quot;,&amp;nbsp;0)&amp;nbsp;or&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;wholesale_price=float(data.get(&amp;quot;wholesale_price&amp;quot;,&amp;nbsp;0)&amp;nbsp;or&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;agent_price=float(data.get(&amp;quot;agent_price&amp;quot;,&amp;nbsp;0)&amp;nbsp;or&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;min_order=int(data.get(&amp;quot;min_num&amp;quot;,&amp;nbsp;1)&amp;nbsp;or&amp;nbsp;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;unit=data.get(&amp;quot;unit&amp;quot;,&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;stock=int(data.get(&amp;quot;stock&amp;quot;,&amp;nbsp;0)&amp;nbsp;or&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;sales_30d=int(data.get(&amp;quot;sales&amp;quot;,&amp;nbsp;0)&amp;nbsp;or&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;total_sales=int(data.get(&amp;quot;total_sales&amp;quot;,&amp;nbsp;0)&amp;nbsp;or&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;location=data.get(&amp;quot;location&amp;quot;,&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;supplier_name=data.get(&amp;quot;supplier&amp;quot;,&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;supplier_id=str(data.get(&amp;quot;seller_id&amp;quot;,&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;supplier_level=data.get(&amp;quot;supplier_level&amp;quot;,&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;is_support_mix=data.get(&amp;quot;is_support_mix&amp;quot;,&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;is_support_agent=data.get(&amp;quot;is_support_agent&amp;quot;,&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;main_image=data.get(&amp;quot;pic_url&amp;quot;,&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;images=data.get(&amp;quot;item_imgs&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;detail_url=data.get(&amp;quot;detail_url&amp;quot;,&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;category=data.get(&amp;quot;category&amp;quot;,&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;attributes=data.get(&amp;quot;props&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;skus=data.get(&amp;quot;skus&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;create_time=data.get(&amp;quot;created_time&amp;quot;,&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;update_time=data.get(&amp;quot;modified_time&amp;quot;,&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;&amp;nbsp;def&amp;nbsp;get_stats(self)&amp;nbsp;-&amp;gt;&amp;nbsp;dict:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;获取采集统计&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;quot;total_requests&amp;quot;:&amp;nbsp;self.request_count,&amp;nbsp;&amp;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;success_requests&amp;quot;:&amp;nbsp;self.success_count,&amp;nbsp;&amp;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;success_rate&amp;quot;:&amp;nbsp;f&amp;quot;{(self.success_count&amp;nbsp;/&amp;nbsp;max(self.request_count,&amp;nbsp;1)&amp;nbsp;*&amp;nbsp;100):.1f}%&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;if&amp;nbsp;__name__&amp;nbsp;==&amp;nbsp;&amp;quot;__main__&amp;quot;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;初始化采集器（替换为真实凭证）&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;collector&amp;nbsp;=&amp;nbsp;Alibaba1688Collector(&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;api_key=&amp;quot;your_api_key&amp;quot;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;api_secret=&amp;quot;your_api_secret&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;1：获取单个商品详情&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;=&amp;quot;&amp;nbsp;*&amp;nbsp;60)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;示例&amp;nbsp;1：获取商品详情&amp;quot;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;=&amp;quot;&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;item_id&amp;nbsp;=&amp;nbsp;&amp;quot;702356889901&amp;quot;&amp;nbsp;&amp;nbsp;#&amp;nbsp;替换为真实商品&amp;nbsp;ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;product&amp;nbsp;=&amp;nbsp;collector.get_item_detail(item_id)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;product:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;商品ID:&amp;nbsp;{product.item_id}&amp;quot;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;标题:&amp;nbsp;{product.title}&amp;quot;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;售价:&amp;nbsp;¥{product.price}&amp;quot;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;批发价:&amp;nbsp;¥{product.wholesale_price}&amp;quot;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;代发价:&amp;nbsp;¥{product.agent_price}&amp;quot;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;起订量:&amp;nbsp;{product.min_order}&amp;nbsp;{product.unit}&amp;quot;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;库存:&amp;nbsp;{product.stock}&amp;quot;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;30天销量:&amp;nbsp;{product.sales_30d}&amp;quot;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;发货地:&amp;nbsp;{product.location}&amp;quot;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;供应商:&amp;nbsp;{product.supplier_name}&amp;quot;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;支持代发:&amp;nbsp;{&amp;#39;是&amp;#39;&amp;nbsp;if&amp;nbsp;product.is_support_agent&amp;nbsp;else&amp;nbsp;&amp;#39;否&amp;#39;}&amp;quot;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;SKU数量:&amp;nbsp;{len(product.skus)}&amp;quot;)&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;print(&amp;quot;获取商品详情失败&amp;quot;)&lt;/pre&gt;&lt;hr style=&quot;font-size: inherit;letter-spacing: 0.5px;text-wrap-mode: nowrap;font-family: inherit;scrollbar-color: transparent transparent;margin-bottom: 32px;margin-top: 32px;border-right: none;border-bottom: none;border-left: none;border-image: initial;border-top: 1.11111px solid rgba(0, 0, 0, 0.13)&quot;/&gt;&lt;h2 style=&quot;font-size: 20px;letter-spacing: 0px;text-wrap-mode: nowrap;font-family: inherit;scrollbar-color: transparent transparent;margin: 24px 0px 16px;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: 32px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;五、自动化选品引擎：无需人工筛选&lt;/h2&gt;&lt;h3 style=&quot;font-size: 18px;letter-spacing: 0px;text-wrap-mode: nowrap;font-family: inherit;scrollbar-color: transparent transparent;margin: 24px 0px 16px;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: 28px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;5.1 智能选品规则引擎&lt;/h3&gt;&lt;p&gt;&lt;header data-v-0c50899f=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;vertical-align: baseline;z-index: 1;background-color: rgb(255, 255, 255);position: sticky;left: 0px;top: 0px&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: 600;font-stretch: inherit;line-height: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline;flex: 1 1 0%&quot;&gt;Python&lt;/span&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px 2px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 20px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;复制&lt;/span&gt;&lt;/header&gt;&lt;/p&gt;&lt;pre data-v-efb858b9=&quot;&quot; style=&quot;font-family: &amp;#39;Fira Code&amp;#39;, &amp;#39;Fira Mono&amp;#39;, Menlo, Consolas, &amp;#39;DejaVu Sans Mono&amp;#39;, monospace;scrollbar-color: transparent transparent;padding: 16px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;font-size: inherit;line-height: 1.5;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline;color: rgb(26, 26, 26);direction: ltr;word-spacing: normal;hyphens: none;overflow: auto;border-radius: 0px;background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255)&quot;&gt;from&amp;nbsp;typing&amp;nbsp;import&amp;nbsp;List,&amp;nbsp;Callable&amp;nbsp;from&amp;nbsp;dataclasses&amp;nbsp;import&amp;nbsp;dataclass&amp;nbsp;@dataclass&amp;nbsp;class&amp;nbsp;SelectionRule:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;选品规则配置&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;name:&amp;nbsp;str&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;规则名称&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;min_price:&amp;nbsp;float&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;最低价格&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;max_price:&amp;nbsp;float&amp;nbsp;=&amp;nbsp;float(&amp;#39;inf&amp;#39;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;最高价格&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;min_sales_30d:&amp;nbsp;int&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;&amp;nbsp;#&amp;nbsp;最低月销量&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;min_stock:&amp;nbsp;int&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;最低库存&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;must_support_agent:&amp;nbsp;bool&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;must_support_mix:&amp;nbsp;bool&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;supplier_levels:&amp;nbsp;List[str]&amp;nbsp;=&amp;nbsp;None&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;供应商等级要求&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exclude_keywords:&amp;nbsp;List[str]&amp;nbsp;=&amp;nbsp;None&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;排除关键词&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;include_keywords:&amp;nbsp;List[str]&amp;nbsp;=&amp;nbsp;None&amp;nbsp;&amp;nbsp;#&amp;nbsp;必须包含关键词&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;min_profit_margin:&amp;nbsp;float&amp;nbsp;=&amp;nbsp;0.3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;最低利润率（基于代发价）&amp;nbsp;class&amp;nbsp;AutoSelector:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&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;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;__init__(self,&amp;nbsp;collector:&amp;nbsp;Alibaba1688Collector):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.collector&amp;nbsp;=&amp;nbsp;collector&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.rules:&amp;nbsp;List[SelectionRule]&amp;nbsp;=&amp;nbsp;[]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.selected_products:&amp;nbsp;List[ProductItem]&amp;nbsp;=&amp;nbsp;[]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;add_rule(self,&amp;nbsp;rule:&amp;nbsp;SelectionRule):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;添加选品规则&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.rules.append(rule)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;logger.info(f&amp;quot;添加选品规则:&amp;nbsp;{rule.name}&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;def&amp;nbsp;evaluate_product(self,&amp;nbsp;product:&amp;nbsp;ProductItem,&amp;nbsp;rule:&amp;nbsp;SelectionRule)&amp;nbsp;-&amp;gt;&amp;nbsp;bool:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&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;&amp;nbsp;&amp;nbsp;Returns:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bool:&amp;nbsp;是否符合所有条件&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&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;if&amp;nbsp;not&amp;nbsp;(rule.min_price&amp;nbsp;&amp;lt;=&amp;nbsp;product.price&amp;nbsp;&amp;lt;=&amp;nbsp;rule.max_price):&amp;nbsp;&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;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;if&amp;nbsp;product.sales_30d&amp;nbsp;&amp;lt;&amp;nbsp;rule.min_sales_30d:&amp;nbsp;&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;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;if&amp;nbsp;product.stock&amp;nbsp;&amp;lt;&amp;nbsp;rule.min_stock:&amp;nbsp;&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;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;if&amp;nbsp;rule.must_support_agent&amp;nbsp;and&amp;nbsp;not&amp;nbsp;product.is_support_agent:&amp;nbsp;&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;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;if&amp;nbsp;rule.must_support_mix&amp;nbsp;and&amp;nbsp;not&amp;nbsp;product.is_support_mix:&amp;nbsp;&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;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;if&amp;nbsp;rule.supplier_levels&amp;nbsp;and&amp;nbsp;product.supplier_level&amp;nbsp;not&amp;nbsp;in&amp;nbsp;rule.supplier_levels:&amp;nbsp;&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;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;if&amp;nbsp;rule.exclude_keywords:&amp;nbsp;&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;kw&amp;nbsp;in&amp;nbsp;rule.exclude_keywords:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;kw.lower()&amp;nbsp;in&amp;nbsp;product.title.lower():&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;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;if&amp;nbsp;rule.include_keywords:&amp;nbsp;&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;kw&amp;nbsp;in&amp;nbsp;rule.include_keywords:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;kw.lower()&amp;nbsp;not&amp;nbsp;in&amp;nbsp;product.title.lower():&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;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;if&amp;nbsp;rule.min_profit_margin&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;and&amp;nbsp;product.agent_price&amp;nbsp;&amp;gt;&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;estimated_retail&amp;nbsp;=&amp;nbsp;product.price&amp;nbsp;*&amp;nbsp;1.5&amp;nbsp;&amp;nbsp;#&amp;nbsp;假设零售价为售价的&amp;nbsp;1.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;profit_margin&amp;nbsp;=&amp;nbsp;(estimated_retail&amp;nbsp;-&amp;nbsp;product.agent_price)&amp;nbsp;/&amp;nbsp;estimated_retail&amp;nbsp;&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;profit_margin&amp;nbsp;&amp;lt;&amp;nbsp;rule.min_profit_margin:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;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;return&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;def&amp;nbsp;select_by_keyword(self,&amp;nbsp;keyword:&amp;nbsp;str,&amp;nbsp;max_pages:&amp;nbsp;int&amp;nbsp;=&amp;nbsp;5)&amp;nbsp;-&amp;gt;&amp;nbsp;List[ProductItem]:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&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;&amp;nbsp;&amp;nbsp;Args:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keyword:&amp;nbsp;搜索关键词&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;max_pages:&amp;nbsp;最大搜索页数&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Returns:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;all_selected&amp;nbsp;=&amp;nbsp;[]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;page&amp;nbsp;in&amp;nbsp;range(1,&amp;nbsp;max_pages&amp;nbsp;+&amp;nbsp;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;logger.info(f&amp;quot;正在搜索第&amp;nbsp;{page}&amp;nbsp;页&amp;nbsp;|&amp;nbsp;关键词:&amp;nbsp;{keyword}&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;&amp;nbsp;products&amp;nbsp;=&amp;nbsp;self.collector.search_by_keyword(&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keyword=keyword,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;page=page,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;page_size=50,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sort=&amp;quot;sales&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;not&amp;nbsp;products:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;product&amp;nbsp;in&amp;nbsp;products:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;应用所有规则&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;rule&amp;nbsp;in&amp;nbsp;self.rules:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;self.evaluate_product(product,&amp;nbsp;rule):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;all_selected.append(product)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;logger.info(f&amp;quot;✅&amp;nbsp;选中商品:&amp;nbsp;{product.title[:30]}...&amp;nbsp;|&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;f&amp;quot;销量:{product.sales_30d}&amp;nbsp;|&amp;nbsp;价格:¥{product.price}&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;break&amp;nbsp;&amp;nbsp;#&amp;nbsp;符合任一规则即可&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;限流控制&amp;nbsp;&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(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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.selected_products.extend(all_selected)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;logger.info(f&amp;quot;选品完成&amp;nbsp;|&amp;nbsp;共选中&amp;nbsp;{len(all_selected)}&amp;nbsp;个商品&amp;quot;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;all_selected&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;select_by_supplier(self,&amp;nbsp;seller_id:&amp;nbsp;str)&amp;nbsp;-&amp;gt;&amp;nbsp;List[ProductItem]:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&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;&amp;nbsp;&amp;nbsp;Args:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;seller_id:&amp;nbsp;供应商店铺&amp;nbsp;ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Returns:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;all_selected&amp;nbsp;=&amp;nbsp;[]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;page&amp;nbsp;=&amp;nbsp;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;&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;products&amp;nbsp;=&amp;nbsp;self.collector.get_shop_items(seller_id,&amp;nbsp;page=page,&amp;nbsp;page_size=50)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;not&amp;nbsp;products:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;product&amp;nbsp;in&amp;nbsp;products:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;rule&amp;nbsp;in&amp;nbsp;self.rules:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;self.evaluate_product(product,&amp;nbsp;rule):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;all_selected.append(product)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;page&amp;nbsp;+=&amp;nbsp;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;time.sleep(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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.selected_products.extend(all_selected)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;all_selected&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;export_to_excel(self,&amp;nbsp;filename:&amp;nbsp;str&amp;nbsp;=&amp;nbsp;&amp;quot;selected_products.xlsx&amp;quot;):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;导出选品结果到&amp;nbsp;Excel&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;import&amp;nbsp;pandas&amp;nbsp;as&amp;nbsp;pd&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data&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;p&amp;nbsp;in&amp;nbsp;self.selected_products:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data.append({&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;商品ID&amp;quot;:&amp;nbsp;p.item_id,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;:&amp;nbsp;p.title,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;:&amp;nbsp;p.price,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;:&amp;nbsp;p.wholesale_price,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;:&amp;nbsp;p.agent_price,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;:&amp;nbsp;p.min_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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;库存&amp;quot;:&amp;nbsp;p.stock,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;30天销量&amp;quot;:&amp;nbsp;p.sales_30d,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;:&amp;nbsp;p.location,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;:&amp;nbsp;p.supplier_name,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;:&amp;nbsp;&amp;quot;是&amp;quot;&amp;nbsp;if&amp;nbsp;p.is_support_agent&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;链接&amp;quot;:&amp;nbsp;p.detail_url&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;})&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;df&amp;nbsp;=&amp;nbsp;pd.DataFrame(data)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;df.to_excel(filename,&amp;nbsp;index=False,&amp;nbsp;engine=&amp;#39;openpyxl&amp;#39;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;logger.info(f&amp;quot;选品结果已导出:&amp;nbsp;{filename}&amp;nbsp;|&amp;nbsp;共&amp;nbsp;{len(data)}&amp;nbsp;条记录&amp;quot;)&amp;nbsp;#&amp;nbsp;====================&amp;nbsp;自动化选品示例&amp;nbsp;====================&amp;nbsp;if&amp;nbsp;__name__&amp;nbsp;==&amp;nbsp;&amp;quot;__main__&amp;quot;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;collector&amp;nbsp;=&amp;nbsp;Alibaba1688Collector(&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;api_key=&amp;quot;your_api_key&amp;quot;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;api_secret=&amp;quot;your_api_secret&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;selector&amp;nbsp;=&amp;nbsp;AutoSelector(collector)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;配置选品规则：寻找适合一件代发的低价爆款&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;selector.add_rule(SelectionRule(&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;name=&amp;quot;一件代发爆款&amp;quot;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;min_price=10,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;max_price=100,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;min_sales_30d=100,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;min_stock=50,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;must_support_agent=True,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;supplier_levels=[&amp;quot;实力商家&amp;quot;,&amp;nbsp;&amp;quot;超级工厂&amp;quot;],&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;min_profit_margin=0.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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;selector.add_rule(SelectionRule(&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;name=&amp;quot;高利润混批&amp;quot;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;min_price=50,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;max_price=500,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;min_sales_30d=50,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;must_support_mix=True,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;include_keywords=[&amp;quot;定制&amp;quot;,&amp;nbsp;&amp;quot;批发&amp;quot;],&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;min_profit_margin=0.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;&amp;nbsp;results&amp;nbsp;=&amp;nbsp;selector.select_by_keyword(&amp;quot;蓝牙耳机&amp;quot;,&amp;nbsp;max_pages=3)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;导出结果&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;selector.export_to_excel(&amp;quot;bluetooth_earphones_selected.xlsx&amp;quot;)&lt;/pre&gt;&lt;hr style=&quot;font-size: inherit;letter-spacing: 0.5px;text-wrap-mode: nowrap;font-family: inherit;scrollbar-color: transparent transparent;margin-bottom: 32px;margin-top: 32px;border-right: none;border-bottom: none;border-left: none;border-image: initial;border-top: 1.11111px solid rgba(0, 0, 0, 0.13)&quot;/&gt;&lt;h2 style=&quot;font-size: 20px;letter-spacing: 0px;text-wrap-mode: nowrap;font-family: inherit;scrollbar-color: transparent transparent;margin: 24px 0px 16px;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: 32px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;六、定时监控与价格预警系统&lt;/h2&gt;&lt;p&gt;&lt;header data-v-0c50899f=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;vertical-align: baseline;z-index: 1;background-color: rgb(255, 255, 255);position: sticky;left: 0px;top: 0px&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: 600;font-stretch: inherit;line-height: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline;flex: 1 1 0%&quot;&gt;Python&lt;/span&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px 2px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 20px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;复制&lt;/span&gt;&lt;/header&gt;&lt;/p&gt;&lt;pre data-v-efb858b9=&quot;&quot; style=&quot;font-family: &amp;#39;Fira Code&amp;#39;, &amp;#39;Fira Mono&amp;#39;, Menlo, Consolas, &amp;#39;DejaVu Sans Mono&amp;#39;, monospace;scrollbar-color: transparent transparent;padding: 16px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;font-size: inherit;line-height: 1.5;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline;color: rgb(26, 26, 26);direction: ltr;word-spacing: normal;hyphens: none;overflow: auto;border-radius: 0px;background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255)&quot;&gt;import&amp;nbsp;schedule&amp;nbsp;import&amp;nbsp;time&amp;nbsp;from&amp;nbsp;datetime&amp;nbsp;import&amp;nbsp;datetime&amp;nbsp;from&amp;nbsp;typing&amp;nbsp;import&amp;nbsp;Dict,&amp;nbsp;Callable&amp;nbsp;class&amp;nbsp;PriceMonitor:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&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;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;__init__(self,&amp;nbsp;collector:&amp;nbsp;Alibaba1688Collector):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.collector&amp;nbsp;=&amp;nbsp;collector&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.monitored_items:&amp;nbsp;Dict[str,&amp;nbsp;dict]&amp;nbsp;=&amp;nbsp;{}&amp;nbsp;&amp;nbsp;#&amp;nbsp;监控中的商品&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.alert_handlers:&amp;nbsp;List[Callable]&amp;nbsp;=&amp;nbsp;[]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.price_history:&amp;nbsp;Dict[str,&amp;nbsp;List[tuple]]&amp;nbsp;=&amp;nbsp;{}&amp;nbsp;&amp;nbsp;#&amp;nbsp;价格历史&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;add_item(self,&amp;nbsp;item_id:&amp;nbsp;str,&amp;nbsp;target_price:&amp;nbsp;Optional[float]&amp;nbsp;=&amp;nbsp;None):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&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;&amp;nbsp;&amp;nbsp;Args:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_id:&amp;nbsp;商品&amp;nbsp;ID&amp;nbsp;&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_price:&amp;nbsp;目标价格（低于此价格触发提醒）&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;product&amp;nbsp;=&amp;nbsp;self.collector.get_item_detail(item_id)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;product:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.monitored_items[item_id]&amp;nbsp;=&amp;nbsp;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;product&amp;quot;:&amp;nbsp;product,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;target_price&amp;quot;:&amp;nbsp;target_price,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;last_price&amp;quot;:&amp;nbsp;product.price,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;last_stock&amp;quot;:&amp;nbsp;product.stock,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;added_at&amp;quot;:&amp;nbsp;datetime.now()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.price_history[item_id]&amp;nbsp;=&amp;nbsp;[(datetime.now(),&amp;nbsp;product.price)]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;logger.info(f&amp;quot;添加监控:&amp;nbsp;{product.title[:30]}...&amp;nbsp;|&amp;nbsp;当前价:&amp;nbsp;¥{product.price}&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;def&amp;nbsp;add_alert_handler(self,&amp;nbsp;handler:&amp;nbsp;Callable):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;添加告警处理器&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.alert_handlers.append(handler)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;_check_changes(self,&amp;nbsp;item_id:&amp;nbsp;str):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;检查商品变动&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;monitor&amp;nbsp;=&amp;nbsp;self.monitored_items[item_id]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;old_product&amp;nbsp;=&amp;nbsp;monitor[&amp;quot;product&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;new_product&amp;nbsp;=&amp;nbsp;self.collector.get_item_detail(item_id)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;not&amp;nbsp;new_product:&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;monitor[&amp;quot;product&amp;quot;]&amp;nbsp;=&amp;nbsp;new_product&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alerts&amp;nbsp;=&amp;nbsp;[]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;abs(new_product.price&amp;nbsp;-&amp;nbsp;monitor[&amp;quot;last_price&amp;quot;])&amp;nbsp;&amp;gt;&amp;nbsp;0.01:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;change_pct&amp;nbsp;=&amp;nbsp;(new_product.price&amp;nbsp;-&amp;nbsp;monitor[&amp;quot;last_price&amp;quot;])&amp;nbsp;/&amp;nbsp;monitor[&amp;quot;last_price&amp;quot;]&amp;nbsp;*&amp;nbsp;100&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;direction&amp;nbsp;=&amp;nbsp;&amp;quot;上涨&amp;quot;&amp;nbsp;if&amp;nbsp;change_pct&amp;nbsp;&amp;gt;&amp;nbsp;0&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;alerts.append({&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;type&amp;quot;:&amp;nbsp;&amp;quot;price_change&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;title&amp;quot;:&amp;nbsp;f&amp;quot;价格{direction}&amp;nbsp;{abs(change_pct):.1f}%&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;content&amp;quot;:&amp;nbsp;f&amp;quot;{new_product.title[:30]}...&amp;nbsp;|&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;f&amp;quot;¥{monitor[&amp;#39;last_price&amp;#39;]}&amp;nbsp;→&amp;nbsp;¥{new_product.price}&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;item_id&amp;quot;:&amp;nbsp;item_id,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;old_price&amp;quot;:&amp;nbsp;monitor[&amp;quot;last_price&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;new_price&amp;quot;:&amp;nbsp;new_product.price&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;})&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;monitor[&amp;quot;last_price&amp;quot;]&amp;nbsp;=&amp;nbsp;new_product.price&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.price_history[item_id].append((datetime.now(),&amp;nbsp;new_product.price))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;old_product.stock&amp;nbsp;==&amp;nbsp;0&amp;nbsp;and&amp;nbsp;new_product.stock&amp;nbsp;&amp;gt;&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;alerts.append({&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;type&amp;quot;:&amp;nbsp;&amp;quot;restock&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;title&amp;quot;:&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;content&amp;quot;:&amp;nbsp;f&amp;quot;{new_product.title[:30]}...&amp;nbsp;|&amp;nbsp;库存:&amp;nbsp;{new_product.stock}&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;item_id&amp;quot;:&amp;nbsp;item_id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;})&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;elif&amp;nbsp;old_product.stock&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;and&amp;nbsp;new_product.stock&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;&amp;nbsp;alerts.append({&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;type&amp;quot;:&amp;nbsp;&amp;quot;out_of_stock&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;title&amp;quot;:&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;content&amp;quot;:&amp;nbsp;f&amp;quot;{new_product.title[:30]}...&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;item_id&amp;quot;:&amp;nbsp;item_id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;})&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;monitor[&amp;quot;target_price&amp;quot;]&amp;nbsp;and&amp;nbsp;new_product.price&amp;nbsp;&amp;lt;=&amp;nbsp;monitor[&amp;quot;target_price&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;alerts.append({&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;type&amp;quot;:&amp;nbsp;&amp;quot;target_price&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;title&amp;quot;:&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;content&amp;quot;:&amp;nbsp;f&amp;quot;{new_product.title[:30]}...&amp;nbsp;|&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;f&amp;quot;当前¥{new_product.price}&amp;nbsp;≤&amp;nbsp;目标¥{monitor[&amp;#39;target_price&amp;#39;]}&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;item_id&amp;quot;:&amp;nbsp;item_id,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;target_price&amp;quot;:&amp;nbsp;monitor[&amp;quot;target_price&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;销量激增检测（日销量&amp;nbsp;&amp;gt;&amp;nbsp;100）&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;daily_sales&amp;nbsp;=&amp;nbsp;new_product.sales_30d&amp;nbsp;-&amp;nbsp;old_product.sales_30d&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;daily_sales&amp;nbsp;&amp;gt;&amp;nbsp;100:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alerts.append({&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;type&amp;quot;:&amp;nbsp;&amp;quot;sales_surge&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;title&amp;quot;:&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;content&amp;quot;:&amp;nbsp;f&amp;quot;{new_product.title[:30]}...&amp;nbsp;|&amp;nbsp;日增&amp;nbsp;{daily_sales}&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;item_id&amp;quot;:&amp;nbsp;item_id,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;daily_sales&amp;quot;:&amp;nbsp;daily_sales&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;})&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;alert&amp;nbsp;in&amp;nbsp;alerts:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self._trigger_alert(alert)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;_trigger_alert(self,&amp;nbsp;alert:&amp;nbsp;dict):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;触发告警&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;logger.warning(f&amp;quot;【{alert[&amp;#39;title&amp;#39;]}】{alert[&amp;#39;content&amp;#39;]}&amp;quot;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;handler&amp;nbsp;in&amp;nbsp;self.alert_handlers:&amp;nbsp;&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;handler(alert)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except&amp;nbsp;Exception&amp;nbsp;as&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;logger.error(f&amp;quot;告警处理器异常:&amp;nbsp;{e}&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;def&amp;nbsp;check_all(self):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;检查所有监控商品&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;logger.info(f&amp;quot;开始批量检查&amp;nbsp;|&amp;nbsp;共&amp;nbsp;{len(self.monitored_items)}&amp;nbsp;个商品&amp;quot;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;item_id&amp;nbsp;in&amp;nbsp;list(self.monitored_items.keys()):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self._check_changes(item_id)&amp;nbsp;&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(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;def&amp;nbsp;start_monitoring(self,&amp;nbsp;interval_minutes:&amp;nbsp;int&amp;nbsp;=&amp;nbsp;30):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&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;&amp;nbsp;&amp;nbsp;Args:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;interval_minutes:&amp;nbsp;检查间隔（分钟）&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;schedule.every(interval_minutes).minutes.do(self.check_all)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;logger.info(f&amp;quot;定时监控已启动&amp;nbsp;|&amp;nbsp;间隔:&amp;nbsp;{interval_minutes}&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;&amp;nbsp;&amp;nbsp;&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;schedule.run_pending()&amp;nbsp;&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(1)&amp;nbsp;#&amp;nbsp;====================&amp;nbsp;告警处理器示例&amp;nbsp;====================&amp;nbsp;def&amp;nbsp;dingtalk_alert(alert:&amp;nbsp;dict):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;钉钉机器人告警&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;实现钉钉&amp;nbsp;Webhook&amp;nbsp;发送&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pass&amp;nbsp;def&amp;nbsp;email_alert(alert:&amp;nbsp;dict):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;邮件告警&amp;quot;&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;pass&amp;nbsp;def&amp;nbsp;wechat_alert(alert:&amp;nbsp;dict):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;企业微信告警&amp;quot;&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;pass&amp;nbsp;#&amp;nbsp;====================&amp;nbsp;监控示例&amp;nbsp;====================&amp;nbsp;if&amp;nbsp;__name__&amp;nbsp;==&amp;nbsp;&amp;quot;__main__&amp;quot;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;collector&amp;nbsp;=&amp;nbsp;Alibaba1688Collector(&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;api_key=&amp;quot;your_api_key&amp;quot;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;api_secret=&amp;quot;your_api_secret&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;monitor&amp;nbsp;=&amp;nbsp;PriceMonitor(collector)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;添加监控商品&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;monitor.add_item(&amp;quot;702356889901&amp;quot;,&amp;nbsp;target_price=15.0)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;monitor.add_item(&amp;quot;702356889902&amp;quot;,&amp;nbsp;target_price=20.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;monitor.add_alert_handler(dingtalk_alert)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;monitor.add_alert_handler(wechat_alert)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;启动监控（每&amp;nbsp;30&amp;nbsp;分钟检查一次）&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;monitor.start_monitoring(interval_minutes=30)&lt;/pre&gt;&lt;hr style=&quot;font-size: inherit;letter-spacing: 0.5px;text-wrap-mode: nowrap;font-family: inherit;scrollbar-color: transparent transparent;margin-bottom: 32px;margin-top: 32px;border-right: none;border-bottom: none;border-left: none;border-image: initial;border-top: 1.11111px solid rgba(0, 0, 0, 0.13)&quot;/&gt;&lt;h2 style=&quot;font-size: 20px;letter-spacing: 0px;text-wrap-mode: nowrap;font-family: inherit;scrollbar-color: transparent transparent;margin: 24px 0px 16px;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: 32px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;七、多平台铺货对接&lt;/h2&gt;&lt;p&gt;&lt;header data-v-0c50899f=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;vertical-align: baseline;z-index: 1;background-color: rgb(255, 255, 255);position: sticky;left: 0px;top: 0px&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: 600;font-stretch: inherit;line-height: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline;flex: 1 1 0%&quot;&gt;Python&lt;/span&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px 2px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 20px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;复制&lt;/span&gt;&lt;/header&gt;&lt;/p&gt;&lt;pre data-v-efb858b9=&quot;&quot; style=&quot;font-family: &amp;#39;Fira Code&amp;#39;, &amp;#39;Fira Mono&amp;#39;, Menlo, Consolas, &amp;#39;DejaVu Sans Mono&amp;#39;, monospace;scrollbar-color: transparent transparent;padding: 16px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;font-size: inherit;line-height: 1.5;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline;color: rgb(26, 26, 26);direction: ltr;word-spacing: normal;hyphens: none;overflow: auto;border-radius: 0px;background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255)&quot;&gt;import&amp;nbsp;json&amp;nbsp;class&amp;nbsp;PlatformPublisher:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&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;1688&amp;nbsp;商品信息转换为各平台格式并发布&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;__init__(self):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.platforms&amp;nbsp;=&amp;nbsp;{}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;register_platform(self,&amp;nbsp;name:&amp;nbsp;str,&amp;nbsp;publisher:&amp;nbsp;Callable):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;注册平台发布器&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.platforms[name]&amp;nbsp;=&amp;nbsp;publisher&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;publish(self,&amp;nbsp;product:&amp;nbsp;ProductItem,&amp;nbsp;platforms:&amp;nbsp;List[str])&amp;nbsp;-&amp;gt;&amp;nbsp;Dict[str,&amp;nbsp;bool]:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&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;&amp;nbsp;&amp;nbsp;Args:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;product:&amp;nbsp;商品信息&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;platforms:&amp;nbsp;目标平台列表&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Returns:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;results&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;platform&amp;nbsp;in&amp;nbsp;platforms:&amp;nbsp;&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;platform&amp;nbsp;in&amp;nbsp;self.platforms:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.platforms[platform](product)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;results[platform]&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;logger.info(f&amp;quot;发布成功&amp;nbsp;|&amp;nbsp;平台:&amp;nbsp;{platform}&amp;nbsp;|&amp;nbsp;商品:&amp;nbsp;{product.title[:30]}&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;except&amp;nbsp;Exception&amp;nbsp;as&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;results[platform]&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;logger.error(f&amp;quot;发布失败&amp;nbsp;|&amp;nbsp;平台:&amp;nbsp;{platform}&amp;nbsp;|&amp;nbsp;{e}&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;results[platform]&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;logger.warning(f&amp;quot;未注册平台:&amp;nbsp;{platform}&amp;quot;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;results&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;generate_taobao_format(self,&amp;nbsp;product:&amp;nbsp;ProductItem)&amp;nbsp;-&amp;gt;&amp;nbsp;dict:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;生成淘宝上架格式&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;quot;title&amp;quot;:&amp;nbsp;product.title,&amp;nbsp;&amp;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;price&amp;quot;:&amp;nbsp;product.price&amp;nbsp;*&amp;nbsp;1.5,&amp;nbsp;&amp;nbsp;#&amp;nbsp;加价&amp;nbsp;50%&amp;nbsp;&amp;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;original_price&amp;quot;:&amp;nbsp;product.price&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;quot;quantity&amp;quot;:&amp;nbsp;min(product.stock,&amp;nbsp;100),&amp;nbsp;&amp;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;category&amp;quot;:&amp;nbsp;self._map_category(product.category,&amp;nbsp;&amp;quot;taobao&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;images&amp;quot;:&amp;nbsp;product.images[: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;quot;detail&amp;quot;:&amp;nbsp;self._generate_detail_html(product),&amp;nbsp;&amp;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;express_fee&amp;quot;:&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;generate_pdd_format(self,&amp;nbsp;product:&amp;nbsp;ProductItem)&amp;nbsp;-&amp;gt;&amp;nbsp;dict:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;生成拼多多上架格式&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;quot;goods_name&amp;quot;:&amp;nbsp;product.title,&amp;nbsp;&amp;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;market_price&amp;quot;:&amp;nbsp;int(product.price&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;quot;price&amp;quot;:&amp;nbsp;int(product.price&amp;nbsp;*&amp;nbsp;1.3),&amp;nbsp;&amp;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;quantity&amp;quot;:&amp;nbsp;min(product.stock,&amp;nbsp;1000),&amp;nbsp;&amp;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;carousel_gallery&amp;quot;:&amp;nbsp;product.images[:10],&amp;nbsp;&amp;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;detail_gallery&amp;quot;:&amp;nbsp;product.images,&amp;nbsp;&amp;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;category_id&amp;quot;:&amp;nbsp;self._map_category(product.category,&amp;nbsp;&amp;quot;pdd&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;def&amp;nbsp;generate_douyin_format(self,&amp;nbsp;product:&amp;nbsp;ProductItem)&amp;nbsp;-&amp;gt;&amp;nbsp;dict:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;生成抖音小店上架格式&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;quot;name&amp;quot;:&amp;nbsp;product.title[:30],&amp;nbsp;&amp;nbsp;#&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;quot;pic&amp;quot;:&amp;nbsp;product.main_image,&amp;nbsp;&amp;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;description&amp;quot;:&amp;nbsp;product.title,&amp;nbsp;&amp;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;price&amp;quot;:&amp;nbsp;int(product.price&amp;nbsp;*&amp;nbsp;1.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;quot;stock_num&amp;quot;:&amp;nbsp;product.stock,&amp;nbsp;&amp;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;category_id&amp;quot;:&amp;nbsp;self._map_category(product.category,&amp;nbsp;&amp;quot;douyin&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;specs&amp;quot;:&amp;nbsp;self._convert_skus(product.skus)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;_map_category(self,&amp;nbsp;category:&amp;nbsp;str,&amp;nbsp;platform:&amp;nbsp;str)&amp;nbsp;-&amp;gt;&amp;nbsp;str:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;类目映射（简化版，实际需维护映射表）&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mappings&amp;nbsp;=&amp;nbsp;{&amp;nbsp;&amp;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;taobao&amp;quot;:&amp;nbsp;{&amp;quot;数码&amp;quot;:&amp;nbsp;&amp;quot;14&amp;quot;,&amp;nbsp;&amp;quot;服装&amp;quot;:&amp;nbsp;&amp;quot;16&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;pdd&amp;quot;:&amp;nbsp;{&amp;quot;数码&amp;quot;:&amp;nbsp;&amp;quot;8424&amp;quot;,&amp;nbsp;&amp;quot;服装&amp;quot;:&amp;nbsp;&amp;quot;12896&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;douyin&amp;quot;:&amp;nbsp;{&amp;quot;数码&amp;quot;:&amp;nbsp;&amp;quot;20001&amp;quot;,&amp;nbsp;&amp;quot;服装&amp;quot;:&amp;nbsp;&amp;quot;20005&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;return&amp;nbsp;mappings.get(platform,&amp;nbsp;{}).get(category,&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;&amp;nbsp;def&amp;nbsp;_generate_detail_html(self,&amp;nbsp;product:&amp;nbsp;ProductItem)&amp;nbsp;-&amp;gt;&amp;nbsp;str:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;生成详情页&amp;nbsp;HTML&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;html&amp;nbsp;=&amp;nbsp;f&amp;quot;&amp;lt;h1&amp;gt;{product.title}&amp;lt;/h1&amp;gt;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;html&amp;nbsp;+=&amp;nbsp;f&amp;quot;&amp;lt;p&amp;gt;发货地:&amp;nbsp;{product.location}&amp;lt;/p&amp;gt;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;html&amp;nbsp;+=&amp;nbsp;f&amp;quot;&amp;lt;p&amp;gt;供应商:&amp;nbsp;{product.supplier_name}&amp;lt;/p&amp;gt;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;img&amp;nbsp;in&amp;nbsp;product.images:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;html&amp;nbsp;+=&amp;nbsp;f&amp;#39;&amp;lt;img&amp;nbsp;src=&amp;quot;{img}&amp;quot;&amp;nbsp;/&amp;gt;&amp;#39;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;html&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;_convert_skus(self,&amp;nbsp;skus:&amp;nbsp;List[dict])&amp;nbsp;-&amp;gt;&amp;nbsp;List[dict]:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;转换&amp;nbsp;SKU&amp;nbsp;格式&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;quot;spec_id&amp;quot;:&amp;nbsp;s.get(&amp;quot;sku_id&amp;quot;,&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;&amp;quot;spec_name&amp;quot;:&amp;nbsp;s.get(&amp;quot;properties&amp;quot;,&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;&amp;quot;price&amp;quot;:&amp;nbsp;s.get(&amp;quot;price&amp;quot;,&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;quot;stock_num&amp;quot;:&amp;nbsp;s.get(&amp;quot;quantity&amp;quot;,&amp;nbsp;0)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;for&amp;nbsp;s&amp;nbsp;in&amp;nbsp;skus]&amp;nbsp;#&amp;nbsp;====================&amp;nbsp;铺货示例&amp;nbsp;====================&amp;nbsp;if&amp;nbsp;__name__&amp;nbsp;==&amp;nbsp;&amp;quot;__main__&amp;quot;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;publisher&amp;nbsp;=&amp;nbsp;PlatformPublisher()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;注册各平台发布器（实际需实现具体&amp;nbsp;API&amp;nbsp;调用）&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;publisher.register_platform(&amp;quot;taobao&amp;quot;,&amp;nbsp;lambda&amp;nbsp;p:&amp;nbsp;print(f&amp;quot;发布到淘宝:&amp;nbsp;{p.title}&amp;quot;))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;publisher.register_platform(&amp;quot;pdd&amp;quot;,&amp;nbsp;lambda&amp;nbsp;p:&amp;nbsp;print(f&amp;quot;发布到拼多多:&amp;nbsp;{p.title}&amp;quot;))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;publisher.register_platform(&amp;quot;douyin&amp;quot;,&amp;nbsp;lambda&amp;nbsp;p:&amp;nbsp;print(f&amp;quot;发布到抖音:&amp;nbsp;{p.title}&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;product&amp;nbsp;=&amp;nbsp;ProductItem(&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_id=&amp;quot;123456&amp;quot;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;title=&amp;quot;测试商品&amp;quot;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price=10.0,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;original_price=20.0,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wholesale_price=8.0,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;agent_price=12.0,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;min_order=1,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;unit=&amp;quot;件&amp;quot;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stock=100,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sales_30d=50,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;total_sales=500,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;location=&amp;quot;义乌&amp;quot;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;supplier_name=&amp;quot;测试供应商&amp;quot;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;supplier_id=&amp;quot;789&amp;quot;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;supplier_level=&amp;quot;实力商家&amp;quot;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;is_support_mix=True,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;is_support_agent=True,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;main_image=&amp;quot;http://example.com/1.jpg&amp;quot;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;images=[&amp;quot;http://example.com/1.jpg&amp;quot;,&amp;nbsp;&amp;quot;http://example.com/2.jpg&amp;quot;],&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;detail_url=&amp;quot;http://1688.com/item/123456&amp;quot;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;category=&amp;quot;数码&amp;quot;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;attributes={},&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;skus=[],&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;create_time=&amp;quot;&amp;quot;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;update_time=&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;results&amp;nbsp;=&amp;nbsp;publisher.publish(product,&amp;nbsp;[&amp;quot;taobao&amp;quot;,&amp;nbsp;&amp;quot;pdd&amp;quot;,&amp;nbsp;&amp;quot;douyin&amp;quot;])&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;发布结果:&amp;nbsp;{results}&amp;quot;)&lt;/pre&gt;&lt;hr style=&quot;font-size: inherit;letter-spacing: 0.5px;text-wrap-mode: nowrap;font-family: inherit;scrollbar-color: transparent transparent;margin-bottom: 32px;margin-top: 32px;border-right: none;border-bottom: none;border-left: none;border-image: initial;border-top: 1.11111px solid rgba(0, 0, 0, 0.13)&quot;/&gt;&lt;h2 style=&quot;font-size: 20px;letter-spacing: 0px;text-wrap-mode: nowrap;font-family: inherit;scrollbar-color: transparent transparent;margin: 24px 0px 16px;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: 32px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;八、完整自动化流程整合&lt;/h2&gt;&lt;p&gt;&lt;header data-v-0c50899f=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;vertical-align: baseline;z-index: 1;background-color: rgb(255, 255, 255);position: sticky;left: 0px;top: 0px&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: 600;font-stretch: inherit;line-height: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline;flex: 1 1 0%&quot;&gt;Python&lt;/span&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px 2px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 20px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;复制&lt;/span&gt;&lt;/header&gt;&lt;/p&gt;&lt;pre data-v-efb858b9=&quot;&quot; style=&quot;font-family: &amp;#39;Fira Code&amp;#39;, &amp;#39;Fira Mono&amp;#39;, Menlo, Consolas, &amp;#39;DejaVu Sans Mono&amp;#39;, monospace;scrollbar-color: transparent transparent;padding: 16px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;font-size: inherit;line-height: 1.5;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline;color: rgb(26, 26, 26);direction: ltr;word-spacing: normal;hyphens: none;overflow: auto;border-radius: 0px;background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255)&quot;&gt;class&amp;nbsp;AutoSourcingPipeline:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&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;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;__init__(self,&amp;nbsp;api_key:&amp;nbsp;str,&amp;nbsp;api_secret:&amp;nbsp;str):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.collector&amp;nbsp;=&amp;nbsp;Alibaba1688Collector(api_key,&amp;nbsp;api_secret)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.selector&amp;nbsp;=&amp;nbsp;AutoSelector(self.collector)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.monitor&amp;nbsp;=&amp;nbsp;PriceMonitor(self.collector)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.publisher&amp;nbsp;=&amp;nbsp;PlatformPublisher()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;run_full_pipeline(&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keywords:&amp;nbsp;List[str],&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rules:&amp;nbsp;List[SelectionRule],&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;target_platforms:&amp;nbsp;List[str],&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;monitor_interval:&amp;nbsp;int&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;quot;&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;&amp;nbsp;&amp;nbsp;Args:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keywords:&amp;nbsp;搜索关键词列表&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rules:&amp;nbsp;选品规则列表&amp;nbsp;&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_platforms:&amp;nbsp;目标铺货平台&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;monitor_interval:&amp;nbsp;监控间隔（分钟）&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;logger.info(&amp;quot;=&amp;quot;&amp;nbsp;*&amp;nbsp;60)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;logger.info(&amp;quot;启动&amp;nbsp;1688&amp;nbsp;自动化货源对接流水线&amp;quot;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;logger.info(&amp;quot;=&amp;quot;&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;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;nbsp;for&amp;nbsp;rule&amp;nbsp;in&amp;nbsp;rules:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.selector.add_rule(rule)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;all_selected&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;keyword&amp;nbsp;in&amp;nbsp;keywords:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;logger.info(f&amp;quot;正在采集关键词:&amp;nbsp;{keyword}&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;selected&amp;nbsp;=&amp;nbsp;self.selector.select_by_keyword(keyword,&amp;nbsp;max_pages=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;all_selected.extend(selected)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;去重&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;unique_items&amp;nbsp;=&amp;nbsp;{p.item_id:&amp;nbsp;p&amp;nbsp;for&amp;nbsp;p&amp;nbsp;in&amp;nbsp;all_selected}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;all_selected&amp;nbsp;=&amp;nbsp;list(unique_items.values())&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;logger.info(f&amp;quot;选品完成&amp;nbsp;|&amp;nbsp;共&amp;nbsp;{len(all_selected)}&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;&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;for&amp;nbsp;product&amp;nbsp;in&amp;nbsp;all_selected:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.monitor.add_item(product.item_id)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;publish_results&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;product&amp;nbsp;in&amp;nbsp;all_selected:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;results&amp;nbsp;=&amp;nbsp;self.publisher.publish(product,&amp;nbsp;target_platforms)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;publish_results.append({&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;item_id&amp;quot;:&amp;nbsp;product.item_id,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;title&amp;quot;:&amp;nbsp;product.title,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;results&amp;quot;:&amp;nbsp;results&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;})&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;self.monitor.start_monitoring(monitor_interval)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;{&amp;nbsp;&amp;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;total_selected&amp;quot;:&amp;nbsp;len(all_selected),&amp;nbsp;&amp;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;publish_results&amp;quot;:&amp;nbsp;publish_results&amp;nbsp;&amp;nbsp;&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;__name__&amp;nbsp;==&amp;nbsp;&amp;quot;__main__&amp;quot;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;初始化流水线&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pipeline&amp;nbsp;=&amp;nbsp;AutoSourcingPipeline(&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;api_key=&amp;quot;your_api_key&amp;quot;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;api_secret=&amp;quot;your_api_secret&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;rules&amp;nbsp;=&amp;nbsp;[&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SelectionRule(&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;name=&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;min_price=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;max_price=50,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;min_sales_30d=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;must_support_agent=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;min_profit_margin=0.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;&amp;nbsp;SelectionRule(&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;name=&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;min_price=100,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;max_price=500,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;min_sales_30d=50,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;include_keywords=[&amp;quot;定制&amp;quot;,&amp;nbsp;&amp;quot;logo&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;min_profit_margin=0.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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;运行完整流程&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;pipeline.run_full_pipeline(&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keywords=[&amp;quot;蓝牙耳机&amp;quot;,&amp;nbsp;&amp;quot;手机壳&amp;quot;,&amp;nbsp;&amp;quot;数据线&amp;quot;],&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rules=rules,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;target_platforms=[&amp;quot;taobao&amp;quot;,&amp;nbsp;&amp;quot;pdd&amp;quot;],&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;monitor_interval=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;print(f&amp;quot;\n流水线运行完成&amp;nbsp;|&amp;nbsp;选中&amp;nbsp;{result[&amp;#39;total_selected&amp;#39;]}&amp;nbsp;个商品&amp;quot;)&lt;/pre&gt;&lt;hr style=&quot;font-size: inherit;letter-spacing: 0.5px;text-wrap-mode: nowrap;font-family: inherit;scrollbar-color: transparent transparent;margin-bottom: 32px;margin-top: 32px;border-right: none;border-bottom: none;border-left: none;border-image: initial;border-top: 1.11111px solid rgba(0, 0, 0, 0.13)&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-size: 20px;letter-spacing: 0px;text-wrap-mode: nowrap;font-family: inherit;scrollbar-color: transparent transparent;margin: 24px 0px 16px;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: 32px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;九、关键注意事项&lt;/h2&gt;&lt;p&gt;&lt;header data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;vertical-align: baseline;z-index: 1;background-color: rgb(255, 255, 255);position: sticky;left: 0px;top: 0px&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: 600;font-stretch: inherit;line-height: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline;flex: 1 1 0%;margin: 0px 10px 0px 0px !important&quot;&gt;表格&lt;/span&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/header&gt;&lt;/p&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px;border-right-style: initial;border-bottom-style: initial;border-left-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: initial;font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;text-align: left;max-width: 480px;white-space-collapse: preserve&quot;&gt;注意事项&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;text-align: left;max-width: 480px;white-space-collapse: preserve&quot;&gt;说明&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px;border-right-style: initial;border-bottom-style: initial;border-left-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: initial;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: 600;font-stretch: inherit;font-size: inherit;line-height: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;API 凭证安全&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;margin: 0px 4px;padding: 2px 6px;border: 0px;vertical-align: baseline;background-color: rgba(0, 0, 0, 0.03);border-radius: 4px;max-width: 100%;text-shadow: none;overflow: auto&quot;&gt;api_secret&lt;/code&gt; 严禁硬编码，使用环境变量或密钥管理服务&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px;border-right-style: initial;border-bottom-style: initial;border-left-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: initial;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: 600;font-stretch: inherit;font-size: inherit;line-height: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;请求频率控制&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;默认限流 50 次/分钟，超出会返回 429 错误&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px;border-right-style: initial;border-bottom-style: initial;border-left-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: initial;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: 600;font-stretch: inherit;font-size: inherit;line-height: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;数据合规使用&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;仅用于自有业务分析，不得转售或恶意爬取&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px;border-right-style: initial;border-bottom-style: initial;border-left-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: initial;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: 600;font-stretch: inherit;font-size: inherit;line-height: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;商品信息更新&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;1688 商品信息可能实时变动，建议定时刷新&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px;border-right-style: initial;border-bottom-style: initial;border-left-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: initial;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: 600;font-stretch: inherit;font-size: inherit;line-height: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;供应商沟通&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;一件代发需与供应商确认库存和发货时效&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px;border-right-style: initial;border-bottom-style: initial;border-left-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: initial;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: 600;font-stretch: inherit;font-size: inherit;line-height: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;多语言支持&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;跨境场景可设置 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;margin: 0px 4px;padding: 2px 6px;border: 0px;vertical-align: baseline;background-color: rgba(0, 0, 0, 0.03);border-radius: 4px;max-width: 100%;text-shadow: none;overflow: auto&quot;&gt;lang=en&lt;/code&gt; 获取英文数据&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;hr style=&quot;font-size: inherit;letter-spacing: 0.5px;text-wrap-mode: nowrap;font-family: inherit;scrollbar-color: transparent transparent;margin-bottom: 32px;margin-top: 32px;border-right: none;border-bottom: none;border-left: none;border-image: initial;border-top: 1.11111px solid rgba(0, 0, 0, 0.13)&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-size: 20px;letter-spacing: 0px;text-wrap-mode: nowrap;font-family: inherit;scrollbar-color: transparent transparent;margin: 24px 0px 16px;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: 32px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;十、总结&lt;/h2&gt;&lt;p&gt;&lt;header data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;vertical-align: baseline;z-index: 1;background-color: rgb(255, 255, 255);position: sticky;left: 0px;top: 0px&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: 600;font-stretch: inherit;line-height: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline;flex: 1 1 0%;margin: 0px 10px 0px 0px !important&quot;&gt;表格&lt;/span&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/header&gt;&lt;/p&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px;border-right-style: initial;border-bottom-style: initial;border-left-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: initial;font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;text-align: left;max-width: 480px;white-space-collapse: preserve&quot;&gt;功能模块&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;text-align: left;max-width: 480px;white-space-collapse: preserve&quot;&gt;核心能力&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;text-align: left;max-width: 480px;white-space-collapse: preserve&quot;&gt;实现方式&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px;border-right-style: initial;border-bottom-style: initial;border-left-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: initial;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: 600;font-stretch: inherit;font-size: inherit;line-height: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;商品采集&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;详情/搜索/店铺/图片搜索&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;margin: 0px 4px;padding: 2px 6px;border: 0px;vertical-align: baseline;background-color: rgba(0, 0, 0, 0.03);border-radius: 4px;max-width: 100%;text-shadow: none;overflow: auto&quot;&gt;item_get&lt;/code&gt; / &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;margin: 0px 4px;padding: 2px 6px;border: 0px;vertical-align: baseline;background-color: rgba(0, 0, 0, 0.03);border-radius: 4px;max-width: 100%;text-shadow: none;overflow: auto&quot;&gt;item_search&lt;/code&gt; / &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;margin: 0px 4px;padding: 2px 6px;border: 0px;vertical-align: baseline;background-color: rgba(0, 0, 0, 0.03);border-radius: 4px;max-width: 100%;text-shadow: none;overflow: auto&quot;&gt;item_search_shop&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px;border-right-style: initial;border-bottom-style: initial;border-left-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: initial;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: 600;font-stretch: inherit;font-size: inherit;line-height: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;智能选品&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;自动筛选符合条件的商品&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;margin: 0px 4px;padding: 2px 6px;border: 0px;vertical-align: baseline;background-color: rgba(0, 0, 0, 0.03);border-radius: 4px;max-width: 100%;text-shadow: none;overflow: auto&quot;&gt;AutoSelector&lt;/code&gt; 规则引擎&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px;border-right-style: initial;border-bottom-style: initial;border-left-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: initial;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: 600;font-stretch: inherit;font-size: inherit;line-height: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;价格监控&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;实时价格/库存变动告警&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;margin: 0px 4px;padding: 2px 6px;border: 0px;vertical-align: baseline;background-color: rgba(0, 0, 0, 0.03);border-radius: 4px;max-width: 100%;text-shadow: none;overflow: auto&quot;&gt;PriceMonitor&lt;/code&gt; 定时检查&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px;border-right-style: initial;border-bottom-style: initial;border-left-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: initial;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: 600;font-stretch: inherit;font-size: inherit;line-height: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;多平台铺货&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;一键上架到淘宝/拼多多/抖音&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;margin: 0px 4px;padding: 2px 6px;border: 0px;vertical-align: baseline;background-color: rgba(0, 0, 0, 0.03);border-radius: 4px;max-width: 100%;text-shadow: none;overflow: auto&quot;&gt;PlatformPublisher&lt;/code&gt; 格式转换&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;padding: 0px;border-width: 0px;border-style: initial;border-image: initial;vertical-align: baseline&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px;border-right-style: initial;border-bottom-style: initial;border-left-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: initial;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding: 0px;border: 0px;font-style: inherit;font-variant: inherit;font-weight: 600;font-stretch: inherit;font-size: inherit;line-height: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline&quot;&gt;数据导出&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;Excel/CSV 批量导出&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit;scrollbar-color: transparent transparent;padding-top: 10px;padding-bottom: 10px;border-width: 1.11111px 0px 0px 1.11111px;border-right-style: initial;border-bottom-style: initial;border-top-color: rgba(0, 0, 0, 0.13);border-right-color: initial;border-bottom-color: initial;border-left-color: rgba(0, 0, 0, 0.13);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: 22px;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: top;max-width: 480px;white-space-collapse: preserve&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;margin: 0px 4px;padding: 2px 6px;border: 0px;vertical-align: baseline;background-color: rgba(0, 0, 0, 0.03);border-radius: 4px;max-width: 100%;text-shadow: none;overflow: auto&quot;&gt;pandas&lt;/code&gt; + &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;margin: 0px 4px;padding: 2px 6px;border: 0px;vertical-align: baseline;background-color: rgba(0, 0, 0, 0.03);border-radius: 4px;max-width: 100%;text-shadow: none;overflow: auto&quot;&gt;openpyxl&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;通过这套 Python 自动化方案，你可以实现真正的&amp;quot;无需选品&amp;quot;——设定规则后，系统自动从 1688 工厂货源中筛选、监控、铺货，大幅降低人工成本，提升电商运营效率。&lt;span style=&quot;font-size: 16px&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://developer.aliyun.com/article/1722133&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;阿里云开发者社区&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;margin: 0px 4px;padding: 1px 8px;border: 0px;vertical-align: baseline;-webkit-user-drag: none;box-sizing: border-box;position: relative;top: -1px;cursor: pointer;user-select: none;max-width: 100px;min-width: 18px;height: 24px;display: inline-flex;align-items: center;justify-content: center;border-radius: 24px;background-color: rgba(0, 0, 0, 0.05);transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out;color: rgb(23, 131, 255);text-wrap-mode: nowrap&quot;&gt;&lt;/a&gt;&lt;span style=&quot;font-family:inherit&quot;&gt;&lt;/span&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Refresh&quot;&gt;&lt;path d=&quot;M303.104 315.392c114.688-114.688 303.104-114.688 417.792 0l-32.768 32.768c-20.48 20.48-4.096 57.344 24.576 57.344h118.784c16.384 0 32.768-16.384 32.768-32.768V253.952c0-28.672-36.864-45.056-57.344-24.576l-32.768 32.768c-143.36-143.36-376.832-143.36-520.192 0s-143.36 376.832 0 520.192 376.832 143.36 520.192 0c49.152-49.152 77.824-106.496 94.208-163.84 4.096-20.48-8.192-40.96-24.576-45.056-20.48-4.096-40.96 8.192-45.056 24.576-12.288 49.152-36.864 94.208-77.824 131.072-114.688 114.688-303.104 114.688-417.792 0-114.688-110.592-114.688-299.008 0-413.696z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Share_a&quot;&gt;&lt;path d=&quot;M386.218667 247.850667c0-102.4 120.405333-157.397333 197.76-90.282667l304.426666 264.32a119.466667 119.466667 0 0 1 1.365334 179.285333l-304.469334 272.170667c-76.970667 68.778667-199.082667 14.122667-199.082666-89.088v-89.173333c-33.024 2.261333-59.306667 6.826667-83.2 15.36-30.592 10.88-61.866667 29.952-98.602667 67.712a76.8 76.8 0 0 1-131.84-53.504c0-98.645333 24.106667-190.976 83.712-261.888 55.253333-65.792 133.973333-104.789333 229.930667-117.845334V247.850667z m147.413333-32.256c-27.648-23.978667-70.613333-4.352-70.613333 32.256v126.208l-0.256 4.309333c-2.218667 21.504-20.437333 38.186667-42.410667 40.021333l-17.194667 1.706667c-173.994667 20.949333-253.824 136.405333-253.824 304.554667 86.997333-89.557333 163.925333-105.386667 270.933334-107.861334a42.026667 42.026667 0 0 1 42.752 42.24v125.226667c0 34.56 38.272 53.845333 65.706666 35.925333l5.376-4.096 304.426667-272.213333a42.666667 42.666667 0 0 0 2.986667-60.714667l-3.413334-3.285333-304.469333-264.277333z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Like&quot;&gt;&lt;path d=&quot;M507.94496 118.70208L512 118.784c41.7792 0 88.92416 30.76096 114.36032 80.81408 25.23136 44.2368 25.64096 100.352 12.6976 159.04768h123.78112c95.4368 0 177.43872 82.98496 148.02944 178.33984l-76.96384 249.6512c-19.37408 62.79168-81.75616 102.1952-148.02944 102.1952h-298.1888a116.57216 116.57216 0 0 1-116.5312-116.57216V422.2976c0-35.2256 23.38816-61.27616 47.75936-73.85088a115.9168 115.9168 0 0 0 56.19712-62.464c7.5776-20.0704 10.60864-37.76512 13.80352-56.40192l1.35168-7.61856c3.44064-19.6608 8.35584-45.99808 26.624-67.74784 16.71168-19.94752 35.84-29.73696 55.17312-33.5872 13.27104-2.62144 27.97568-2.21184 35.88096-1.96608z m-21.54496 74.30144c-3.44064 0.69632-7.49568 2.048-13.06624 8.64256-4.01408 4.79232-6.79936 12.288-10.48576 33.1776l-1.2288 6.9632c-3.11296 18.51392-7.33184 43.13088-17.53088 70.20544a189.6448 189.6448 0 0 1-91.38176 102.03136 18.6368 18.6368 0 0 0-6.63552 5.44768c-1.14688 1.6384-1.2288 2.58048-1.2288 2.8672v349.92128c0 23.67488 19.2512 42.84416 42.88512 42.84416h298.14784c39.15776 0 69.2224-23.01952 77.57824-50.21696l76.96384-249.61024c11.18208-36.20864-18.80064-82.90304-77.57824-82.90304h-172.07296a36.864 36.864 0 0 1-35.06176-48.29184c23.3472-71.68 22.44608-120.832 6.3488-148.48a38.0928 38.0928 0 0 1-1.10592-2.048C545.30048 202.30144 520.31488 192.512 512 192.512c-2.90816 0-5.81632-0.08192-8.27392-0.12288h-0.45056a264.6016 264.6016 0 0 0-7.12704-0.12288c-4.34176 0-7.3728 0.24576-9.74848 0.73728zM184.32 385.024a36.864 36.864 0 0 1 36.864 36.864v409.6a36.864 36.864 0 1 1-73.728 0v-409.6a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Dislike&quot;&gt;&lt;path d=&quot;M516.096 905.216l4.05504 0.08192c7.90528 0.24576 22.60992 0.65536 35.88096-1.96608 19.33312-3.85024 38.5024-13.63968 55.21408-33.5872 18.2272-21.74976 23.1424-48.08704 26.624-67.74784l1.31072-7.61856c3.19488-18.6368 6.22592-36.29056 13.80352-56.40192a115.9168 115.9168 0 0 1 56.19712-62.464c24.3712-12.57472 47.75936-38.58432 47.75936-73.85088V251.74016A116.57216 116.57216 0 0 0 640.36864 135.168h-298.1888c-66.23232 0-128.6144 39.40352-147.98848 102.1952l-77.0048 249.6512c-29.36832 95.35488 52.67456 178.33984 148.0704 178.33984h123.74016c-12.9024 58.65472-12.4928 114.85184 12.6976 159.08864 25.47712 49.9712 72.66304 80.77312 114.40128 80.77312z m38.66624-82.86208c-5.57056 6.59456-9.6256 7.94624-13.06624 8.64256-2.41664 0.49152-5.40672 0.73728-9.74848 0.73728-2.17088 0-4.42368 0-7.12704-0.12288h-0.45056c-2.4576-0.04096-5.36576-0.12288-8.27392-0.12288-8.31488 0-33.30048-9.74848-48.9472-41.04192a37.6832 37.6832 0 0 0-1.10592-2.048c-16.09728-27.68896-16.9984-76.8 6.3488-148.48a36.864 36.864 0 0 0-35.0208-48.29184H265.25696c-58.7776 0-88.76032-46.6944-77.57824-82.90304l77.0048-249.61024c8.35584-27.19744 38.37952-50.21696 77.53728-50.21696h298.1888c23.63392 0 42.8032 19.16928 42.8032 42.84416v349.92128c0 0.28672-0.04096 1.2288-1.2288 2.8672a18.59584 18.59584 0 0 1-6.5536 5.44768 189.6448 189.6448 0 0 0-91.42272 101.9904c-10.24 27.11552-14.41792 51.73248-17.57184 70.20544l-1.2288 7.04512c-3.6864 20.8896-6.43072 28.34432-10.4448 33.1776zM806.912 602.112a36.864 36.864 0 0 0 73.728 0v-409.6a36.864 36.864 0 1 0-73.728 0v409.6z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/p&gt;&lt;p&gt;系统。&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://developer.aliyun.com/article/1722133&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;阿里云开发者社区&quot; style=&quot;font: inherit;scrollbar-color: transparent transparent;margin: 0px 4px;padding: 1px 8px;border: 0px;vertical-align: baseline;-webkit-user-drag: none;box-sizing: border-box;position: relative;top: -1px;cursor: pointer;user-select: none;max-width: 100px;min-width: 18px;height: 24px;display: inline-flex;align-items: center;justify-content: center;border-radius: 24px;background-color: rgba(0, 0, 0, 0.05);transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out;color: rgb(23, 131, 255);text-wrap-mode: nowrap&quot;&gt;&lt;/a&gt;&lt;br/&gt;&lt;/p&gt;如遇任何疑问或有进一步的需求，请随时与我私信或者&lt;a href=&quot;https://o0b.cn/jelena&quot; target=&quot;_self&quot;&gt;评论联系。&lt;/a&gt;&lt;hr style=&quot;font-size: inherit; letter-spacing: 0.5px; text-wrap-mode: nowrap; font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;</description><pubDate>Wed, 27 May 2026 17:41:14 +0800</pubDate></item><item><title>商品详情接口高并发架构：独立资源池与并发控制实战</title><link>https://jelenaapi.com/?id=118</link><description>&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;电商平台的商品详情接口是流量最密集的入口之一。在秒杀、大促等场景下，QPS 可达数万甚至数十万。本文将深入讲解如何设计一个支持&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;高并发访问&lt;/span&gt;、具备&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;独立资源池隔离&lt;/span&gt;的商品详情 API 接口，涵盖线程池、连接池、缓存、限流等全链路优化方案。&lt;div data-v-77c93641=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;pua-ref-renderer pua-ref-renderer--cite&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; white-space-collapse: collapse; display: inline-block;&quot;&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://developer.aliyun.com/article/1735634&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;阿里云开发者社区&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;一、商品详情接口的核心挑战&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;商品详情接口需要聚合多维度数据，天然具有高复杂度和高并发的特点：&lt;/div&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; max-width: 100%; width: max-content; position: relative; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;数据来源&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;说明&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;延迟要求&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;商品基础信息&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;标题、图片、类目、属性&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&amp;lt; 10ms&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;SKU 价格库存&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;多规格价格、实时库存&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&amp;lt; 20ms&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;促销信息&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;满减、优惠券、秒杀活动&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&amp;lt; 15ms&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;评价数据&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;评分、评价数、好评率&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&amp;lt; 30ms&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;推荐商品&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;关联推荐、猜你喜欢&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&amp;lt; 50ms&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;物流信息&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;运费模板、预计送达&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&amp;lt; 20ms&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;核心矛盾&lt;/span&gt;：单次请求需要&lt;span class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;串行/并行&lt;/span&gt;调用 5-10 个下游服务，而用户期望响应时间在 &lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;200ms 以内&lt;/span&gt;。&lt;div data-v-77c93641=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;pua-ref-renderer pua-ref-renderer--cite&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; white-space-collapse: collapse; display: inline-block;&quot;&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://developer.aliyun.com/article/1735634&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;阿里云开发者社区&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;二、整体架构设计&lt;/h2&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;plain&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-plain&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;┌──────────────┐&amp;nbsp;&amp;nbsp;┌──────────────┐&amp;nbsp;&amp;nbsp;┌──────────────┐&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;CDN&amp;nbsp;缓存&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;负载均衡&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;限流熔断&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;(静态资源)&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;(Nginx/ALB)&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;(Sentinel)&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;└──────────────┘&amp;nbsp;&amp;nbsp;└──────────────┘&amp;nbsp;&amp;nbsp;└──────────────┘&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
└─────────────────────────────────────────────────────────────┘
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;▼
┌─────────────────────────────────────────────────────────────┐
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;API&amp;nbsp;网关层&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;┌──────────────┐&amp;nbsp;&amp;nbsp;┌──────────────┐&amp;nbsp;&amp;nbsp;┌──────────────┐&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;鉴权认证&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;请求路由&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;灰度发布&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;参数校验&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;协议转换&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;A/B&amp;nbsp;测试&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;└──────────────┘&amp;nbsp;&amp;nbsp;└──────────────┘&amp;nbsp;&amp;nbsp;└──────────────┘&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
└─────────────────────────────────────────────────────────────┘
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;▼
┌─────────────────────────────────────────────────────────────┐
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;商品详情服务&amp;nbsp;(核心层)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;┌─────────────────────────────────────────────────────┐&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;独立资源池隔离架构&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;┌──────────┐&amp;nbsp;┌──────────┐&amp;nbsp;┌──────────┐&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;核心资源池&amp;nbsp;│&amp;nbsp;│&amp;nbsp;普通资源池&amp;nbsp;│&amp;nbsp;│&amp;nbsp;降级资源池&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│(VIP用户)&amp;nbsp;│&amp;nbsp;│(普通用户)&amp;nbsp;│&amp;nbsp;│(过载保护)&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;└──────────┘&amp;nbsp;└──────────┘&amp;nbsp;└──────────┘&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;└─────────────────────────────────────────────────────┘&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;┌─────────────────────────────────────────────────────┐&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;多级缓存体系&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;L1:&amp;nbsp;本地&amp;nbsp;Caffeine&amp;nbsp;缓存&amp;nbsp;(命中率&amp;nbsp;80%)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;L2:&amp;nbsp;分布式&amp;nbsp;Redis&amp;nbsp;缓存&amp;nbsp;(命中率&amp;nbsp;15%)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;L3:&amp;nbsp;数据库&amp;nbsp;+&amp;nbsp;异步回源&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;└─────────────────────────────────────────────────────┘&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
└─────────────────────────────────────────────────────────────┘
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;▼
┌─────────────────────────────────────────────────────────────┐
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;下游服务调用层&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;┌──────────┐&amp;nbsp;┌──────────┐&amp;nbsp;┌──────────┐&amp;nbsp;┌──────────┐&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;商品服务&amp;nbsp;&amp;nbsp;│&amp;nbsp;│&amp;nbsp;价格服务&amp;nbsp;&amp;nbsp;│&amp;nbsp;│&amp;nbsp;库存服务&amp;nbsp;&amp;nbsp;│&amp;nbsp;│&amp;nbsp;促销服务&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│(独立连接池)│&amp;nbsp;│(独立连接池)│&amp;nbsp;│(独立连接池)│&amp;nbsp;│(独立连接池)│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;└──────────┘&amp;nbsp;└──────────┘&amp;nbsp;└──────────┘&amp;nbsp;└──────────┘&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;┌──────────┐&amp;nbsp;┌──────────┐&amp;nbsp;┌──────────┐&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;评价服务&amp;nbsp;&amp;nbsp;│&amp;nbsp;│&amp;nbsp;推荐服务&amp;nbsp;&amp;nbsp;│&amp;nbsp;│&amp;nbsp;物流服务&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│(独立连接池)│&amp;nbsp;│(独立连接池)│&amp;nbsp;│(独立连接池)│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;└──────────┘&amp;nbsp;└──────────┘&amp;nbsp;└──────────┘&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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 data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;三、独立资源池设计：核心实现&lt;/h2&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;3.1 线程池隔离&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;为不同优先级用户和不同业务场景分配&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;独立线程池&lt;/span&gt;，避免资源争抢。&lt;div data-v-77c93641=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;pua-ref-renderer pua-ref-renderer--cite&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; white-space-collapse: collapse; display: inline-block;&quot;&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://blog.csdn.net/gitblog_00219/article/details/152038029&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;CSDN博客&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;java&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-java&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;import&amp;nbsp;org.springframework.context.annotation.Bean;import&amp;nbsp;org.springframework.context.annotation.Configuration;import&amp;nbsp;org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;import&amp;nbsp;java.util.concurrent.ThreadPoolExecutor;/**
&amp;nbsp;*&amp;nbsp;商品详情接口&amp;nbsp;-&amp;nbsp;独立线程池配置
&amp;nbsp;*&amp;nbsp;核心原则：不同优先级用户、不同业务场景使用独立线程池
&amp;nbsp;*/@Configurationpublic&amp;nbsp;class&amp;nbsp;ThreadPoolConfig&amp;nbsp;{

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;核心用户线程池（VIP/付费用户）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;特点：核心线程数高，队列小，快速失败或扩容
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Bean(&amp;quot;coreUserExecutor&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;ThreadPoolTaskExecutor&amp;nbsp;coreUserExecutor()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ThreadPoolTaskExecutor&amp;nbsp;executor&amp;nbsp;=&amp;nbsp;new&amp;nbsp;ThreadPoolTaskExecutor();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;executor.setCorePoolSize(32);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;核心线程数
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;executor.setMaxPoolSize(128);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;最大线程数
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;executor.setQueueCapacity(50);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;队列容量（小队列，快速扩容）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;executor.setThreadNamePrefix(&amp;quot;core-&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;executor.setRejectedExecutionHandler(new&amp;nbsp;ThreadPoolExecutor.CallerRunsPolicy());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;executor.setKeepAliveSeconds(60);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;executor.setAllowCoreThreadTimeOut(true);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;executor.initialize();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;executor;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;普通用户线程池
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;特点：适中配置，队列缓冲
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Bean(&amp;quot;normalUserExecutor&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;ThreadPoolTaskExecutor&amp;nbsp;normalUserExecutor()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ThreadPoolTaskExecutor&amp;nbsp;executor&amp;nbsp;=&amp;nbsp;new&amp;nbsp;ThreadPoolTaskExecutor();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;executor.setCorePoolSize(16);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;executor.setMaxPoolSize(64);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;executor.setQueueCapacity(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;executor.setThreadNamePrefix(&amp;quot;normal-&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;executor.setRejectedExecutionHandler(new&amp;nbsp;ThreadPoolExecutor.DiscardOldestPolicy());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;executor.setKeepAliveSeconds(60);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;executor.initialize();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;executor;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;降级服务线程池（过载保护）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;特点：资源受限，仅处理核心数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Bean(&amp;quot;degradeExecutor&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;ThreadPoolTaskExecutor&amp;nbsp;degradeExecutor()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ThreadPoolTaskExecutor&amp;nbsp;executor&amp;nbsp;=&amp;nbsp;new&amp;nbsp;ThreadPoolTaskExecutor();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;executor.setCorePoolSize(4);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;executor.setMaxPoolSize(16);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;executor.setQueueCapacity(10);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;极小队列，快速拒绝
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;executor.setThreadNamePrefix(&amp;quot;degrade-&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;executor.setRejectedExecutionHandler(new&amp;nbsp;ThreadPoolExecutor.AbortPolicy());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;executor.initialize();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;executor;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;异步数据加载线程池（并行查询下游服务）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;特点：适合&amp;nbsp;I/O&amp;nbsp;密集型任务
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Bean(&amp;quot;asyncLoadExecutor&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;ThreadPoolTaskExecutor&amp;nbsp;asyncLoadExecutor()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ThreadPoolTaskExecutor&amp;nbsp;executor&amp;nbsp;=&amp;nbsp;new&amp;nbsp;ThreadPoolTaskExecutor();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;I/O&amp;nbsp;密集型：线程数&amp;nbsp;=&amp;nbsp;CPU&amp;nbsp;核数&amp;nbsp;*&amp;nbsp;2&amp;nbsp;+&amp;nbsp;1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;ioThreads&amp;nbsp;=&amp;nbsp;Runtime.getRuntime().availableProcessors()&amp;nbsp;*&amp;nbsp;2&amp;nbsp;+&amp;nbsp;1;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;executor.setCorePoolSize(ioThreads);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;executor.setMaxPoolSize(ioThreads&amp;nbsp;*&amp;nbsp;2);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;executor.setQueueCapacity(500);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;executor.setThreadNamePrefix(&amp;quot;async-&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;executor.setRejectedExecutionHandler(new&amp;nbsp;ThreadPoolExecutor.CallerRunsPolicy());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;executor.initialize();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;executor;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;3.2 HTTP 连接池隔离&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;每个下游服务配置&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;独立连接池&lt;/span&gt;，避免单服务故障拖垮整个系统。&lt;div data-v-77c93641=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;pua-ref-renderer pua-ref-renderer--cite&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; white-space-collapse: collapse; display: inline-block;&quot;&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://developer.aliyun.com/article/1735634&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;阿里云开发者社区&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;java&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-java&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;import&amp;nbsp;org.apache.http.client.config.RequestConfig;import&amp;nbsp;org.apache.http.impl.client.CloseableHttpClient;import&amp;nbsp;org.apache.http.impl.client.HttpClients;import&amp;nbsp;org.apache.http.impl.conn.PoolingHttpClientConnectionManager;import&amp;nbsp;org.springframework.context.annotation.Bean;import&amp;nbsp;org.springframework.context.annotation.Configuration;import&amp;nbsp;org.springframework.http.client.HttpComponentsClientHttpRequestFactory;import&amp;nbsp;org.springframework.web.client.RestTemplate;/**
&amp;nbsp;*&amp;nbsp;下游服务独立连接池配置
&amp;nbsp;*/@Configurationpublic&amp;nbsp;class&amp;nbsp;HttpClientPoolConfig&amp;nbsp;{

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;商品服务连接池（核心服务，配置最优）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Bean(&amp;quot;productRestTemplate&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;RestTemplate&amp;nbsp;productRestTemplate()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PoolingHttpClientConnectionManager&amp;nbsp;cm&amp;nbsp;=&amp;nbsp;new&amp;nbsp;PoolingHttpClientConnectionManager();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cm.setMaxTotal(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;连接池最大连接数
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cm.setDefaultMaxPerRoute(100);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;单路由最大连接数
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cm.setValidateAfterInactivity(30000);&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;空闲连接验证间隔

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RequestConfig&amp;nbsp;requestConfig&amp;nbsp;=&amp;nbsp;RequestConfig.custom()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setConnectTimeout(1000)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;连接超时&amp;nbsp;1s
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setSocketTimeout(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;2s
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setConnectionRequestTimeout(500)&amp;nbsp;//&amp;nbsp;从连接池获取连接超时&amp;nbsp;500ms
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;CloseableHttpClient&amp;nbsp;httpClient&amp;nbsp;=&amp;nbsp;HttpClients.custom()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setConnectionManager(cm)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setDefaultRequestConfig(requestConfig)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setRetryHandler((exception,&amp;nbsp;executionCount,&amp;nbsp;context)&amp;nbsp;-&amp;gt;&amp;nbsp;executionCount&amp;nbsp;&amp;lt;=&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;.build();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;new&amp;nbsp;RestTemplate(new&amp;nbsp;HttpComponentsClientHttpRequestFactory(httpClient));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;价格服务连接池（实时性要求高，超时短）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Bean(&amp;quot;priceRestTemplate&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;RestTemplate&amp;nbsp;priceRestTemplate()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PoolingHttpClientConnectionManager&amp;nbsp;cm&amp;nbsp;=&amp;nbsp;new&amp;nbsp;PoolingHttpClientConnectionManager();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cm.setMaxTotal(150);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cm.setDefaultMaxPerRoute(80);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RequestConfig&amp;nbsp;requestConfig&amp;nbsp;=&amp;nbsp;RequestConfig.custom()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setConnectTimeout(500)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;更快超时，快速失败
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setSocketTimeout(1500)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setConnectionRequestTimeout(300)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;CloseableHttpClient&amp;nbsp;httpClient&amp;nbsp;=&amp;nbsp;HttpClients.custom()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setConnectionManager(cm)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setDefaultRequestConfig(requestConfig)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;return&amp;nbsp;new&amp;nbsp;RestTemplate(new&amp;nbsp;HttpComponentsClientHttpRequestFactory(httpClient));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;库存服务连接池（一致性要求高）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Bean(&amp;quot;stockRestTemplate&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;RestTemplate&amp;nbsp;stockRestTemplate()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PoolingHttpClientConnectionManager&amp;nbsp;cm&amp;nbsp;=&amp;nbsp;new&amp;nbsp;PoolingHttpClientConnectionManager();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cm.setMaxTotal(100);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cm.setDefaultMaxPerRoute(50);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RequestConfig&amp;nbsp;requestConfig&amp;nbsp;=&amp;nbsp;RequestConfig.custom()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setConnectTimeout(800)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setSocketTimeout(3000)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;库存查询可能稍慢
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setConnectionRequestTimeout(500)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;CloseableHttpClient&amp;nbsp;httpClient&amp;nbsp;=&amp;nbsp;HttpClients.custom()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setConnectionManager(cm)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setDefaultRequestConfig(requestConfig)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;return&amp;nbsp;new&amp;nbsp;RestTemplate(new&amp;nbsp;HttpComponentsClientHttpRequestFactory(httpClient));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;推荐服务连接池（可降级，超时较长）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Bean(&amp;quot;recommendRestTemplate&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;RestTemplate&amp;nbsp;recommendRestTemplate()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PoolingHttpClientConnectionManager&amp;nbsp;cm&amp;nbsp;=&amp;nbsp;new&amp;nbsp;PoolingHttpClientConnectionManager();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cm.setMaxTotal(80);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cm.setDefaultMaxPerRoute(40);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RequestConfig&amp;nbsp;requestConfig&amp;nbsp;=&amp;nbsp;RequestConfig.custom()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setConnectTimeout(1000)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setSocketTimeout(5000)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;推荐算法耗时较长
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setConnectionRequestTimeout(500)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;CloseableHttpClient&amp;nbsp;httpClient&amp;nbsp;=&amp;nbsp;HttpClients.custom()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setConnectionManager(cm)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setDefaultRequestConfig(requestConfig)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;return&amp;nbsp;new&amp;nbsp;RestTemplate(new&amp;nbsp;HttpComponentsClientHttpRequestFactory(httpClient));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;3.3 数据库连接池隔离&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;商品详情涉及多个数据源（主库、从库、分库），每个数据源独立连接池。&lt;div data-v-77c93641=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;pua-ref-renderer pua-ref-renderer--cite&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; white-space-collapse: collapse; display: inline-block;&quot;&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://ask.csdn.net/questions/8383482&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;CSDN问答&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;yaml&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-yaml&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;#&amp;nbsp;application.ymlspring:
&amp;nbsp;&amp;nbsp;datasource:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;主库（写操作）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;master:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;type:&amp;nbsp;com.zaxxer.hikari.HikariDataSource&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jdbc-url:&amp;nbsp;jdbc:mysql://master-db:3306/product?useSSL=false&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;username:&amp;nbsp;${DB_USER}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;password:&amp;nbsp;${DB_PASS}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hikari:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pool-name:&amp;nbsp;MasterPool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;minimum-idle:&amp;nbsp;10
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;maximum-pool-size:&amp;nbsp;50
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;connection-timeout:&amp;nbsp;2000
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;idle-timeout:&amp;nbsp;300000
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;max-lifetime:&amp;nbsp;600000
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;connection-test-query:&amp;nbsp;SELECT&amp;nbsp;1&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;slave1:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;type:&amp;nbsp;com.zaxxer.hikari.HikariDataSource&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jdbc-url:&amp;nbsp;jdbc:mysql://slave1-db:3306/product?useSSL=false&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;username:&amp;nbsp;${DB_USER}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;password:&amp;nbsp;${DB_PASS}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hikari:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pool-name:&amp;nbsp;Slave1-ProductPool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;minimum-idle:&amp;nbsp;5
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;maximum-pool-size:&amp;nbsp;30
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;connection-timeout:&amp;nbsp;1500
&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;slave2:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;type:&amp;nbsp;com.zaxxer.hikari.HikariDataSource&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jdbc-url:&amp;nbsp;jdbc:mysql://slave2-db:3306/product?useSSL=false&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;username:&amp;nbsp;${DB_USER}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;password:&amp;nbsp;${DB_PASS}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hikari:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pool-name:&amp;nbsp;Slave2-PricePool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;minimum-idle:&amp;nbsp;5
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;maximum-pool-size:&amp;nbsp;30
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;connection-timeout:&amp;nbsp;1500&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;四、商品详情服务核心实现，&lt;a href=&quot;https://o0b.cn/jelena&quot; target=&quot;_self&quot;&gt;点击测试接口获取key&lt;/a&gt;&lt;/h2&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;4.1 并行数据加载（CompletableFuture）&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;利用线程池并行查询下游服务，将串行延迟转为并行延迟。&lt;div data-v-77c93641=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;pua-ref-renderer pua-ref-renderer--cite&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; white-space-collapse: collapse; display: inline-block;&quot;&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://blog.csdn.net/cczxcce/article/details/123334105&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;CSDN博客&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;java&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-java&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;import&amp;nbsp;org.springframework.beans.factory.annotation.Autowired;import&amp;nbsp;org.springframework.beans.factory.annotation.Qualifier;import&amp;nbsp;org.springframework.stereotype.Service;import&amp;nbsp;java.util.concurrent.CompletableFuture;import&amp;nbsp;java.util.concurrent.ThreadPoolExecutor;@Servicepublic&amp;nbsp;class&amp;nbsp;ProductDetailService&amp;nbsp;{

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Autowired
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Qualifier(&amp;quot;asyncLoadExecutor&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;ThreadPoolExecutor&amp;nbsp;asyncExecutor;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Autowired
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Qualifier(&amp;quot;productRestTemplate&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;RestTemplate&amp;nbsp;productRestTemplate;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Autowired
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Qualifier(&amp;quot;priceRestTemplate&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;RestTemplate&amp;nbsp;priceRestTemplate;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Autowired
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Qualifier(&amp;quot;stockRestTemplate&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;RestTemplate&amp;nbsp;stockRestTemplate;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Autowired
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Qualifier(&amp;quot;recommendRestTemplate&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;RestTemplate&amp;nbsp;recommendRestTemplate;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Autowired
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;CacheManager&amp;nbsp;cacheManager;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;获取商品详情（并行加载&amp;nbsp;+&amp;nbsp;降级策略）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;ProductDetailVO&amp;nbsp;getProductDetail(Long&amp;nbsp;productId,&amp;nbsp;UserContext&amp;nbsp;user)&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;nbsp;ProductDetailVO&amp;nbsp;cached&amp;nbsp;=&amp;nbsp;cacheManager.get(productId);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(cached&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;return&amp;nbsp;cached;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;CompletableFuture&amp;lt;ProductBaseInfo&amp;gt;&amp;nbsp;baseFuture&amp;nbsp;=&amp;nbsp;CompletableFuture
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.supplyAsync(()&amp;nbsp;-&amp;gt;&amp;nbsp;loadProductBase(productId),&amp;nbsp;asyncExecutor)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.exceptionally(ex&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;log.error(&amp;quot;商品基础信息加载失败:&amp;nbsp;{}&amp;quot;,&amp;nbsp;productId,&amp;nbsp;ex);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;throw&amp;nbsp;new&amp;nbsp;ProductException(&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;CompletableFuture&amp;lt;PriceInfo&amp;gt;&amp;nbsp;priceFuture&amp;nbsp;=&amp;nbsp;CompletableFuture
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.supplyAsync(()&amp;nbsp;-&amp;gt;&amp;nbsp;loadPriceInfo(productId),&amp;nbsp;asyncExecutor)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.exceptionally(ex&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;log.warn(&amp;quot;价格加载失败，使用兜底价格:&amp;nbsp;{}&amp;quot;,&amp;nbsp;productId);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;PriceInfo.defaultPrice(productId);&amp;nbsp;&amp;nbsp;//&amp;nbsp;降级
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CompletableFuture&amp;lt;StockInfo&amp;gt;&amp;nbsp;stockFuture&amp;nbsp;=&amp;nbsp;CompletableFuture
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.supplyAsync(()&amp;nbsp;-&amp;gt;&amp;nbsp;loadStockInfo(productId),&amp;nbsp;asyncExecutor)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.exceptionally(ex&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;log.warn(&amp;quot;库存加载失败，显示有货:&amp;nbsp;{}&amp;quot;,&amp;nbsp;productId);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;StockInfo.defaultStock(productId);&amp;nbsp;&amp;nbsp;//&amp;nbsp;降级
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});

&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;CompletableFuture&amp;lt;Void&amp;gt;&amp;nbsp;coreFuture&amp;nbsp;=&amp;nbsp;CompletableFuture
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.allOf(baseFuture,&amp;nbsp;priceFuture,&amp;nbsp;stockFuture);

&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;coreFuture.get(150,&amp;nbsp;TimeUnit.MILLISECONDS);&amp;nbsp;&amp;nbsp;//&amp;nbsp;核心数据&amp;nbsp;150ms&amp;nbsp;超时
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(Exception&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;log.error(&amp;quot;核心数据加载超时:&amp;nbsp;{}&amp;quot;,&amp;nbsp;productId);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;throw&amp;nbsp;new&amp;nbsp;ProductException(&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CompletableFuture&amp;lt;List&amp;lt;ProductVO&amp;gt;&amp;gt;&amp;nbsp;recommendFuture&amp;nbsp;=&amp;nbsp;CompletableFuture
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.supplyAsync(()&amp;nbsp;-&amp;gt;&amp;nbsp;loadRecommendations(productId),&amp;nbsp;asyncExecutor)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.orTimeout(100,&amp;nbsp;TimeUnit.MILLISECONDS)&amp;nbsp;&amp;nbsp;//&amp;nbsp;100ms&amp;nbsp;超时
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.exceptionally(ex&amp;nbsp;-&amp;gt;&amp;nbsp;Collections.emptyList());

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CompletableFuture&amp;lt;PromotionInfo&amp;gt;&amp;nbsp;promotionFuture&amp;nbsp;=&amp;nbsp;CompletableFuture
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.supplyAsync(()&amp;nbsp;-&amp;gt;&amp;nbsp;loadPromotion(productId),&amp;nbsp;asyncExecutor)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.orTimeout(80,&amp;nbsp;TimeUnit.MILLISECONDS)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.exceptionally(ex&amp;nbsp;-&amp;gt;&amp;nbsp;PromotionInfo.empty());

&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;ProductDetailVO&amp;nbsp;result&amp;nbsp;=&amp;nbsp;new&amp;nbsp;ProductDetailVO();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result.setBaseInfo(baseFuture.join());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result.setPriceInfo(priceFuture.join());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result.setStockInfo(stockFuture.join());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;非核心数据异步填充（前端可二次请求）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;recommendFuture.thenAccept(result::setRecommendations);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;promotionFuture.thenAccept(result::setPromotion);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;6.&amp;nbsp;写入缓存
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cacheManager.put(productId,&amp;nbsp;result,&amp;nbsp;60);&amp;nbsp;&amp;nbsp;//&amp;nbsp;缓存&amp;nbsp;60&amp;nbsp;秒

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;result;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;ProductBaseInfo&amp;nbsp;loadProductBase(Long&amp;nbsp;productId)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;productRestTemplate.getForObject(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;http://product-service/api/product/{id}&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;ProductBaseInfo.class,&amp;nbsp;productId);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;PriceInfo&amp;nbsp;loadPriceInfo(Long&amp;nbsp;productId)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;priceRestTemplate.getForObject(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;http://price-service/api/price/{id}&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;PriceInfo.class,&amp;nbsp;productId);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;StockInfo&amp;nbsp;loadStockInfo(Long&amp;nbsp;productId)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;stockRestTemplate.getForObject(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;http://stock-service/api/stock/{id}&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;StockInfo.class,&amp;nbsp;productId);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;List&amp;lt;ProductVO&amp;gt;&amp;nbsp;loadRecommendations(Long&amp;nbsp;productId)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;recommendRestTemplate.getForObject(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;http://recommend-service/api/recommend/{id}&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;List.class,&amp;nbsp;productId);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;PromotionInfo&amp;nbsp;loadPromotion(Long&amp;nbsp;productId)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;new&amp;nbsp;PromotionInfo();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;4.2 多级缓存体系&lt;/h3&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;plain&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-plain&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;用户请求
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;▼
┌─────────────────┐
│&amp;nbsp;&amp;nbsp;L1:&amp;nbsp;Caffeine&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;◀──&amp;nbsp;本地缓存，命中率&amp;nbsp;80%，延迟&amp;nbsp;&amp;lt;&amp;nbsp;1ms
│&amp;nbsp;&amp;nbsp;(本地&amp;nbsp;JVM)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
└────────┬────────┘
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;未命中
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;▼
┌─────────────────┐
│&amp;nbsp;&amp;nbsp;L2:&amp;nbsp;Redis&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;◀──&amp;nbsp;分布式缓存，命中率&amp;nbsp;15%，延迟&amp;nbsp;&amp;lt;&amp;nbsp;5ms
│&amp;nbsp;&amp;nbsp;(集群)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
└────────┬────────┘
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;未命中
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;▼
┌─────────────────┐
│&amp;nbsp;&amp;nbsp;L3:&amp;nbsp;数据库&amp;nbsp;&amp;nbsp;&amp;nbsp;&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 data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;java&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-java&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;import&amp;nbsp;com.github.benmanes.caffeine.cache.Caffeine;import&amp;nbsp;com.github.benmanes.caffeine.cache.LoadingCache;import&amp;nbsp;org.springframework.data.redis.core.RedisTemplate;import&amp;nbsp;org.springframework.stereotype.Component;import&amp;nbsp;java.util.concurrent.TimeUnit;@Componentpublic&amp;nbsp;class&amp;nbsp;CacheManager&amp;nbsp;{

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;final&amp;nbsp;LoadingCache&amp;lt;Long,&amp;nbsp;ProductDetailVO&amp;gt;&amp;nbsp;localCache;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;final&amp;nbsp;RedisTemplate&amp;lt;String,&amp;nbsp;ProductDetailVO&amp;gt;&amp;nbsp;redisCache;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;CacheManager(RedisTemplate&amp;lt;String,&amp;nbsp;ProductDetailVO&amp;gt;&amp;nbsp;redisCache)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.redisCache&amp;nbsp;=&amp;nbsp;redisCache;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Caffeine&amp;nbsp;本地缓存配置
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.localCache&amp;nbsp;=&amp;nbsp;Caffeine.newBuilder()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.maximumSize(10000)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;最大条目数
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.expireAfterWrite(30,&amp;nbsp;TimeUnit.SECONDS)&amp;nbsp;&amp;nbsp;//&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;nbsp;&amp;nbsp;.refreshAfterWrite(20,&amp;nbsp;TimeUnit.SECONDS)&amp;nbsp;//&amp;nbsp;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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.recordStats()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;开启统计
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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(this::loadFromRedis);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;未命中时从&amp;nbsp;Redis&amp;nbsp;加载
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;ProductDetailVO&amp;nbsp;get(Long&amp;nbsp;productId)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;localCache.get(productId);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;void&amp;nbsp;put(Long&amp;nbsp;productId,&amp;nbsp;ProductDetailVO&amp;nbsp;value,&amp;nbsp;int&amp;nbsp;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;Redis
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;localCache.put(productId,&amp;nbsp;value);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;redisCache.opsForValue().set(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;product:detail:&amp;quot;&amp;nbsp;+&amp;nbsp;productId,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;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;&amp;nbsp;TimeUnit.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;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;从&amp;nbsp;Redis&amp;nbsp;加载（本地缓存未命中时触发）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;ProductDetailVO&amp;nbsp;loadFromRedis(Long&amp;nbsp;productId)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;key&amp;nbsp;=&amp;nbsp;&amp;quot;product:detail:&amp;quot;&amp;nbsp;+&amp;nbsp;productId;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ProductDetailVO&amp;nbsp;value&amp;nbsp;=&amp;nbsp;redisCache.opsForValue().get(key);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;(value&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;Redis&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;return&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;延长&amp;nbsp;Redis&amp;nbsp;过期时间（滑动窗口）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;redisCache.expire(key,&amp;nbsp;60,&amp;nbsp;TimeUnit.SECONDS);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&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;*&amp;nbsp;缓存预热（大促前批量加载热点商品）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;void&amp;nbsp;preload(List&amp;lt;Long&amp;gt;&amp;nbsp;hotProductIds)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(Long&amp;nbsp;id&amp;nbsp;:&amp;nbsp;hotProductIds)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;localCache.refresh(id);&amp;nbsp;&amp;nbsp;//&amp;nbsp;触发异步刷新
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;获取缓存统计
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;String&amp;nbsp;getStats()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;localCache.stats().toString();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;五、限流、熔断与降级&lt;/h2&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;5.1 Sentinel 限流配置&lt;/h3&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;java&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-java&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;import&amp;nbsp;com.alibaba.csp.sentinel.annotation.SentinelResource;import&amp;nbsp;com.alibaba.csp.sentinel.slots.block.BlockException;import&amp;nbsp;org.springframework.stereotype.Service;@Servicepublic&amp;nbsp;class&amp;nbsp;ProductDetailSentinelService&amp;nbsp;{

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;商品详情接口&amp;nbsp;-&amp;nbsp;限流保护
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;QPS&amp;nbsp;限制：核心用户&amp;nbsp;10000/s，普通用户&amp;nbsp;5000/s
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SentinelResource(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;value&amp;nbsp;=&amp;nbsp;&amp;quot;productDetail&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;blockHandler&amp;nbsp;=&amp;nbsp;&amp;quot;handleBlock&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;fallback&amp;nbsp;=&amp;nbsp;&amp;quot;handleFallback&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;ProductDetailVO&amp;nbsp;getDetail(Long&amp;nbsp;productId,&amp;nbsp;UserContext&amp;nbsp;user)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;(user.isVip())&amp;nbsp;{
&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;getDetailWithExecutor(productId,&amp;nbsp;&amp;quot;coreUserExecutor&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;return&amp;nbsp;getDetailWithExecutor(productId,&amp;nbsp;&amp;quot;normalUserExecutor&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;public&amp;nbsp;ProductDetailVO&amp;nbsp;handleBlock(Long&amp;nbsp;productId,&amp;nbsp;UserContext&amp;nbsp;user,&amp;nbsp;BlockException&amp;nbsp;ex)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;log.warn(&amp;quot;接口限流触发:&amp;nbsp;user={},&amp;nbsp;product={}&amp;quot;,&amp;nbsp;user.getUserId(),&amp;nbsp;productId);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;getSimplifiedDetail(productId);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;异常降级处理
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;ProductDetailVO&amp;nbsp;handleFallback(Long&amp;nbsp;productId,&amp;nbsp;UserContext&amp;nbsp;user,&amp;nbsp;Throwable&amp;nbsp;ex)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;log.error(&amp;quot;接口异常降级:&amp;nbsp;user={},&amp;nbsp;product={}&amp;quot;,&amp;nbsp;user.getUserId(),&amp;nbsp;productId,&amp;nbsp;ex);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;ProductDetailVO.staticFallback(productId);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;ProductDetailVO&amp;nbsp;getSimplifiedDetail(Long&amp;nbsp;productId)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;cacheManager.get(productId);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;5.2 熔断器配置（Resilience4j）&lt;/h3&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;java&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-java&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;import&amp;nbsp;io.github.resilience4j.circuitbreaker.annotation.CircuitBreaker;import&amp;nbsp;io.github.resilience4j.timelimiter.annotation.TimeLimiter;import&amp;nbsp;org.springframework.stereotype.Service;import&amp;nbsp;java.util.concurrent.CompletableFuture;@Servicepublic&amp;nbsp;class&amp;nbsp;DownstreamService&amp;nbsp;{

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;价格服务熔断配置
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;失败率&amp;nbsp;&amp;gt;&amp;nbsp;50%&amp;nbsp;且调用次数&amp;nbsp;&amp;gt;&amp;nbsp;10&amp;nbsp;时触发熔断
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@CircuitBreaker(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;name&amp;nbsp;=&amp;nbsp;&amp;quot;priceService&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;fallbackMethod&amp;nbsp;=&amp;nbsp;&amp;quot;priceFallback&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@TimeLimiter(name&amp;nbsp;=&amp;nbsp;&amp;quot;priceService&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;CompletableFuture&amp;lt;PriceInfo&amp;gt;&amp;nbsp;getPrice(Long&amp;nbsp;productId)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;CompletableFuture.supplyAsync(()&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;priceRestTemplate.getForObject(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;http://price-service/api/price/{id}&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;PriceInfo.class,&amp;nbsp;productId&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;价格服务熔断后的兜底
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;CompletableFuture&amp;lt;PriceInfo&amp;gt;&amp;nbsp;priceFallback(Long&amp;nbsp;productId,&amp;nbsp;Exception&amp;nbsp;ex)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;log.warn(&amp;quot;价格服务熔断，使用缓存价格:&amp;nbsp;{}&amp;quot;,&amp;nbsp;productId);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PriceInfo&amp;nbsp;cached&amp;nbsp;=&amp;nbsp;priceCache.get(productId);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;CompletableFuture.completedFuture(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cached&amp;nbsp;!=&amp;nbsp;null&amp;nbsp;?&amp;nbsp;cached&amp;nbsp;:&amp;nbsp;PriceInfo.defaultPrice(productId)
&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 data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;六、监控与动态调优&lt;/h2&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;6.1 线程池监控&lt;/h3&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;java&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-java&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;import&amp;nbsp;io.micrometer.core.instrument.Gauge;import&amp;nbsp;io.micrometer.core.instrument.MeterRegistry;import&amp;nbsp;org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;import&amp;nbsp;org.springframework.stereotype.Component;import&amp;nbsp;javax.annotation.PostConstruct;import&amp;nbsp;java.util.concurrent.ThreadPoolExecutor;@Componentpublic&amp;nbsp;class&amp;nbsp;ThreadPoolMonitor&amp;nbsp;{

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Autowired
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;MeterRegistry&amp;nbsp;meterRegistry;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Autowired
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Qualifier(&amp;quot;coreUserExecutor&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;ThreadPoolTaskExecutor&amp;nbsp;coreExecutor;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Autowired
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Qualifier(&amp;quot;normalUserExecutor&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;ThreadPoolTaskExecutor&amp;nbsp;normalExecutor;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@PostConstruct
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;void&amp;nbsp;init()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;registerMetrics(&amp;quot;core.pool&amp;quot;,&amp;nbsp;coreExecutor.getThreadPoolExecutor());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;registerMetrics(&amp;quot;normal.pool&amp;quot;,&amp;nbsp;normalExecutor.getThreadPoolExecutor());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;void&amp;nbsp;registerMetrics(String&amp;nbsp;name,&amp;nbsp;ThreadPoolExecutor&amp;nbsp;executor)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Gauge.builder(name&amp;nbsp;+&amp;nbsp;&amp;quot;.active&amp;quot;,&amp;nbsp;executor,&amp;nbsp;ThreadPoolExecutor::getActiveCount)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.description(&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;.register(meterRegistry);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Gauge.builder(name&amp;nbsp;+&amp;nbsp;&amp;quot;.queue.size&amp;quot;,&amp;nbsp;executor,&amp;nbsp;e&amp;nbsp;-&amp;gt;&amp;nbsp;e.getQueue().size())
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.description(&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;.register(meterRegistry);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Gauge.builder(name&amp;nbsp;+&amp;nbsp;&amp;quot;.completed&amp;quot;,&amp;nbsp;executor,&amp;nbsp;ThreadPoolExecutor::getCompletedTaskCount)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.description(&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;.register(meterRegistry);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Gauge.builder(name&amp;nbsp;+&amp;nbsp;&amp;quot;.rejected&amp;quot;,&amp;nbsp;executor,&amp;nbsp;e&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;0L;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.description(&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;.register(meterRegistry);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;6.2 连接池监控&lt;/h3&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;java&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-java&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;@Componentpublic&amp;nbsp;class&amp;nbsp;ConnectionPoolMonitor&amp;nbsp;{

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Autowired
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;HikariDataSource&amp;nbsp;masterDataSource;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Scheduled(fixedRate&amp;nbsp;=&amp;nbsp;30000)&amp;nbsp;&amp;nbsp;//&amp;nbsp;每&amp;nbsp;30&amp;nbsp;秒上报
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;void&amp;nbsp;report()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HikariPoolMXBean&amp;nbsp;poolMXBean&amp;nbsp;=&amp;nbsp;masterDataSource.getHikariPoolMXBean();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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.info(&amp;quot;连接池状态&amp;nbsp;-&amp;nbsp;活跃:&amp;nbsp;{},&amp;nbsp;空闲:&amp;nbsp;{},&amp;nbsp;等待:&amp;nbsp;{},&amp;nbsp;总连接:&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;poolMXBean.getActiveConnections(),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;poolMXBean.getIdleConnections(),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;poolMXBean.getThreadsAwaitingConnection(),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;poolMXBean.getTotalConnections()
&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 data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;七、性能压测数据&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;某电商平台优化前后的对比（8 核 16G 服务器，1000 并发）：&lt;div data-v-77c93641=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;pua-ref-renderer pua-ref-renderer--cite&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; white-space-collapse: collapse; display: inline-block;&quot;&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://blog.csdn.net/gitblog_00219/article/details/152038029&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;CSDN博客&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; max-width: 100%; width: max-content; position: relative; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;指标&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;优化前&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;优化后&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;提升&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;平均响应时间&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;680ms&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;120ms&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;82%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;P99 延迟&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;2500ms&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;350ms&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;86%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;吞吐量（QPS）&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;850&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;5200&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;512%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;错误率&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;3.2%&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;0.05%&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;98.4%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;下游服务调用次数&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;6 次/请求&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;3.2 次/请求（缓存命中）&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;47%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;八、关键设计原则总结&lt;/h2&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; max-width: 100%; width: max-content; position: relative; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;原则&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;实现方式&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;效果&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;资源隔离&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;独立线程池 + 独立连接池&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;避免级联故障，保障核心链路&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;并行加载&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;CompletableFuture + 自定义线程池&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;将串行延迟转为并行延迟&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;多级缓存&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;Caffeine + Redis + 异步回源&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;减少 90% 下游调用&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;快速失败&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;超时控制 + 熔断降级&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;避免线程长时间阻塞&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;限流保护&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;Sentinel 滑动窗口限流&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;防止系统过载&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;监控驱动&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;Micrometer + Prometheus&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;实时感知系统状态&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;通过独立资源池的设计，商品详情接口能够在高并发场景下保持稳定、低延迟的响应，同时具备良好的弹性扩展能力和故障隔离能力。&lt;/div&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Tue, 26 May 2026 10:11:32 +0800</pubDate></item><item><title>Python 获取 1688 关键词搜索商品与价格接口实战指南</title><link>https://jelenaapi.com/?id=117</link><description>&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;1688（阿里巴巴旗下 B2B 批发平台）提供了丰富的 API 接口，允许开发者通过关键词检索商品信息、获取实时价格与库存数据。本文将深入讲解如何使用 Python 合规接入 1688 开放平台，实现关键词搜索商品列表及价格数据的完整流程。&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;一、1688 开放平台接口体系概览&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;1688 开放平台提供了多层次的商品数据接口，核心包括：&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://developer.aliyun.com/article/1685882&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;阿里云开发者社区&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; max-width: 100%; width: max-content; position: relative; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;接口&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;功能&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;适用场景&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;alibaba.product.search&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;关键词搜索商品列表&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;选品、比价、铺货&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;alibaba.product.get&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;获取单个商品详情&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;深度分析、SKU 监控&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;alibaba.wholesale.goods.search&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;寻源通商品搜索&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;跨境采购、供应链对接&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;1688.item_get&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;商品全量详情&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;ERP 同步、数据抓取&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;关键认知&lt;/span&gt;：1688 API 主要面向&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;企业开发者&lt;/span&gt;，个人开发者权限受限，仅能获取公开商品数据。&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://www.cnblogs.com/API-19970108110/p/19714577&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;博客园&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;二、前置准备：账号与权限申请&lt;/h2&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;2.1 注册与认证流程&lt;/h3&gt;&lt;ol start=&quot;1&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; list-style-position: initial; list-style-image: initial; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;注册开发者账号&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;完成&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;企业实名认证&lt;/span&gt;（个人认证功能受限）&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;创建应用，获取 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;AppKey&lt;/code&gt; 和 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;AppSecret&lt;/code&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;申请 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;alibaba.product.search&lt;/code&gt; 接口权限（需提交搜索场景说明，审核 1-2 个工作日）&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;配置 &lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;IP 白名单&lt;/span&gt;（遗漏会导致 403 Forbidden）&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://www.cnblogs.com/API-19970108110/p/19714577&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;博客园&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;2.2 核心凭证&lt;/h3&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; max-width: 100%; width: max-content; position: relative; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;凭证&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;说明&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;安全要求&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;AppKey&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;应用唯一标识&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;可公开&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;AppSecret&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;签名密钥&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;严禁泄露，仅服务端使用&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;AccessToken&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;用户授权令牌&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;有效期 30 天（个人版），需自动刷新&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;三、签名机制：MD5 加密详解&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;1688 API 采用 &lt;span class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;MD5 签名&lt;/span&gt; 确保请求安全，签名生成规则如下：&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://developer.aliyun.com/article/1685882&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;阿里云开发者社区&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;ol start=&quot;1&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; list-style-position: initial; list-style-image: initial; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;将所有请求参数（除 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;sign&lt;/code&gt; 外）按参数名 &lt;span class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;ASCII 升序排序&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;拼接为 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;key1value1key2value2...&lt;/code&gt; 格式（&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;无连接符&lt;/span&gt;）&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;在字符串&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;首尾各拼接一次&lt;/span&gt; &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;app_secret&lt;/code&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;进行 &lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;MD5 加密&lt;/span&gt;，结果转&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;大写&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;import&amp;nbsp;hashlibimport&amp;nbsp;urllib.parsedef&amp;nbsp;generate_sign(params:&amp;nbsp;dict,&amp;nbsp;app_secret:&amp;nbsp;str)&amp;nbsp;-&amp;gt;&amp;nbsp;str:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;生成&amp;nbsp;1688&amp;nbsp;API&amp;nbsp;请求签名（MD5）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;规则：app_secret&amp;nbsp;+&amp;nbsp;排序后参数拼接&amp;nbsp;+&amp;nbsp;app_secret，整体&amp;nbsp;MD5&amp;nbsp;大写
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;1.&amp;nbsp;按参数名&amp;nbsp;ASCII&amp;nbsp;升序排序
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sorted_params&amp;nbsp;=&amp;nbsp;sorted(params.items())
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;2.&amp;nbsp;拼接为&amp;nbsp;keyvalue&amp;nbsp;格式（无连接符）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;param_str&amp;nbsp;=&amp;nbsp;&amp;#39;&amp;#39;.join([f&amp;quot;{k}{v}&amp;quot;&amp;nbsp;for&amp;nbsp;k,&amp;nbsp;v&amp;nbsp;in&amp;nbsp;sorted_params])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;3.&amp;nbsp;首尾拼接&amp;nbsp;app_secret
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sign_str&amp;nbsp;=&amp;nbsp;f&amp;quot;{app_secret}{param_str}{app_secret}&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;4.&amp;nbsp;MD5&amp;nbsp;加密并转大写
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sign&amp;nbsp;=&amp;nbsp;hashlib.md5(sign_str.encode(&amp;#39;utf-8&amp;#39;)).hexdigest().upper()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;sign#&amp;nbsp;验证签名生成if&amp;nbsp;__name__&amp;nbsp;==&amp;nbsp;&amp;quot;__main__&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;test_params&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;method&amp;quot;:&amp;nbsp;&amp;quot;com.alibaba.product.search&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;app_key&amp;quot;:&amp;nbsp;&amp;quot;12345678&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;timestamp&amp;quot;:&amp;nbsp;&amp;quot;2026-05-25&amp;nbsp;12:00:00&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;keywords&amp;quot;:&amp;nbsp;&amp;quot;蓝牙耳机&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;page_no&amp;quot;:&amp;nbsp;1,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;page_size&amp;quot;:&amp;nbsp;20,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;format&amp;quot;:&amp;nbsp;&amp;quot;json&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;v&amp;quot;:&amp;nbsp;&amp;quot;2.0&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;secret&amp;nbsp;=&amp;nbsp;&amp;quot;your_app_secret_here&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;签名结果:&amp;nbsp;{generate_sign(test_params,&amp;nbsp;secret)}&amp;quot;)&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;四、核心接口实战：关键词搜索商品&lt;/h2&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;4.1 接口参数详解&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;alibaba.product.search&lt;/code&gt; 是关键词搜索的核心接口，2026 年主推 &lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;2.0 版本&lt;/span&gt;，1.0 版本已不返回批发价、起批量等核心字段。&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://www.cnblogs.com/API-19970108110/p/19714577&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;博客园&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; max-width: 100%; width: max-content; position: relative; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;参数&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;类型&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;必选&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;说明&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;method&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;String&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;是&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;接口方法名：&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;com.alibaba.product.search&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;app_key&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;String&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;是&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;应用唯一标识&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;timestamp&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;String&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;是&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;时间戳（格式：&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;yyyy-MM-dd HH:mm:ss&lt;/code&gt;）&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;v&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;String&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;是&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;API 版本：&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;2.0&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;format&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;String&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;是&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;响应格式：&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;json&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;sign&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;String&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;是&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;MD5 签名&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;keywords&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;String&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;是&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;搜索关键词&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;page_no&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;Integer&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;否&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;页码，默认 1&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;page_size&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;Integer&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;否&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;每页数量，默认 20，最大 50&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;sort_type&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;String&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;否&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;排序：&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;total&lt;/code&gt;（销量）、&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;price_asc&lt;/code&gt;/&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;price_desc&lt;/code&gt;（价格）&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;price_start&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;Double&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;否&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;价格区间下限&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;price_end&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;Double&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;否&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;价格区间上限&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;category_id&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;Long&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;否&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;类目 ID 过滤&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;4.2 完整 Python 实现&lt;/h3&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;import&amp;nbsp;requestsimport&amp;nbsp;hashlibimport&amp;nbsp;timeimport&amp;nbsp;jsonfrom&amp;nbsp;typing&amp;nbsp;import&amp;nbsp;List,&amp;nbsp;Optional,&amp;nbsp;Dictfrom&amp;nbsp;dataclasses&amp;nbsp;import&amp;nbsp;dataclassfrom&amp;nbsp;urllib.parse&amp;nbsp;import&amp;nbsp;urlencode@dataclassclass&amp;nbsp;ProductItem:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;1688&amp;nbsp;商品数据结构&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;product_id:&amp;nbsp;str
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;title:&amp;nbsp;str
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price:&amp;nbsp;float
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price_range:&amp;nbsp;str&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;价格区间（如&amp;quot;10.00-50.00&amp;quot;）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;moq:&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;最小起订量
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;unit:&amp;nbsp;str&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;计量单位
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;quantity:&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;#&amp;nbsp;可售数量/库存
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sale_info:&amp;nbsp;str&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;销量信息
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;supplier_name:&amp;nbsp;str&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;供应商名称
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;supplier_id:&amp;nbsp;str&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;供应商&amp;nbsp;ID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;location:&amp;nbsp;str&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;发货地
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;image_url:&amp;nbsp;str&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;主图&amp;nbsp;URL
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;detail_url:&amp;nbsp;str&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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_support_mix:&amp;nbsp;bool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;是否支持混批
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;credit_level:&amp;nbsp;str&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;诚信通等级class&amp;nbsp;Alibaba1688Client:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1688&amp;nbsp;开放平台&amp;nbsp;API&amp;nbsp;客户端
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;支持关键词搜索、商品详情获取
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;1688&amp;nbsp;API&amp;nbsp;网关地址
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BASE_URL&amp;nbsp;=&amp;nbsp;&amp;quot;https://gw.open.1688.com/openapi/param2/2/portals.open/api.listOfferDetail/&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;或:&amp;nbsp;&amp;quot;https://api.1688.com/router/rest&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;__init__(self,&amp;nbsp;app_key:&amp;nbsp;str,&amp;nbsp;app_secret:&amp;nbsp;str,&amp;nbsp;access_token:&amp;nbsp;Optional[str]&amp;nbsp;=&amp;nbsp;None):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.app_key&amp;nbsp;=&amp;nbsp;app_key
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.app_secret&amp;nbsp;=&amp;nbsp;app_secret
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.access_token&amp;nbsp;=&amp;nbsp;access_token
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.session&amp;nbsp;=&amp;nbsp;requests.Session()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.session.headers.update({
&amp;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;Accept&amp;quot;:&amp;nbsp;&amp;quot;application/json&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;Content-Type&amp;quot;:&amp;nbsp;&amp;quot;application/x-www-form-urlencoded;charset=utf-8&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;def&amp;nbsp;_generate_sign(self,&amp;nbsp;params:&amp;nbsp;dict)&amp;nbsp;-&amp;gt;&amp;nbsp;str:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;生成&amp;nbsp;MD5&amp;nbsp;签名&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sorted_params&amp;nbsp;=&amp;nbsp;sorted(params.items())
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;param_str&amp;nbsp;=&amp;nbsp;&amp;#39;&amp;#39;.join([f&amp;quot;{k}{v}&amp;quot;&amp;nbsp;for&amp;nbsp;k,&amp;nbsp;v&amp;nbsp;in&amp;nbsp;sorted_params])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sign_str&amp;nbsp;=&amp;nbsp;f&amp;quot;{self.app_secret}{param_str}{self.app_secret}&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;hashlib.md5(sign_str.encode(&amp;#39;utf-8&amp;#39;)).hexdigest().upper()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;_build_params(self,&amp;nbsp;**kwargs)&amp;nbsp;-&amp;gt;&amp;nbsp;dict:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;构建公共参数&amp;nbsp;+&amp;nbsp;业务参数&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params&amp;nbsp;=&amp;nbsp;{
&amp;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;method&amp;quot;:&amp;nbsp;kwargs.pop(&amp;quot;method&amp;quot;,&amp;nbsp;&amp;quot;com.alibaba.product.search&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;app_key&amp;quot;:&amp;nbsp;self.app_key,
&amp;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;timestamp&amp;quot;:&amp;nbsp;time.strftime(&amp;quot;%Y-%m-%d&amp;nbsp;%H:%M:%S&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;v&amp;quot;:&amp;nbsp;&amp;quot;2.0&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;format&amp;quot;:&amp;nbsp;&amp;quot;json&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;sign_method&amp;quot;:&amp;nbsp;&amp;quot;md5&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;params.update(kwargs)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;生成签名
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params[&amp;quot;sign&amp;quot;]&amp;nbsp;=&amp;nbsp;self._generate_sign(params)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;params&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;search_by_keyword(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keyword:&amp;nbsp;str,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;page_no:&amp;nbsp;int&amp;nbsp;=&amp;nbsp;1,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;page_size:&amp;nbsp;int&amp;nbsp;=&amp;nbsp;20,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sort_type:&amp;nbsp;str&amp;nbsp;=&amp;nbsp;&amp;quot;total&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price_start:&amp;nbsp;Optional[float]&amp;nbsp;=&amp;nbsp;None,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price_end:&amp;nbsp;Optional[float]&amp;nbsp;=&amp;nbsp;None,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;category_id:&amp;nbsp;Optional[int]&amp;nbsp;=&amp;nbsp;None
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;-&amp;gt;&amp;nbsp;Dict:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&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;Args:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keyword:&amp;nbsp;搜索关键词（如&amp;quot;蓝牙耳机&amp;quot;、&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;page_no:&amp;nbsp;页码
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;page_size:&amp;nbsp;每页数量（最大&amp;nbsp;50）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sort_type:&amp;nbsp;排序方式
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;total&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;quot;price_asc&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;quot;price_desc&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;quot;credit&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;price_start:&amp;nbsp;价格区间下限
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price_end:&amp;nbsp;价格区间上限
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;category_id:&amp;nbsp;类目&amp;nbsp;ID&amp;nbsp;过滤
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Returns:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;API&amp;nbsp;原始响应字典
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;business_params&amp;nbsp;=&amp;nbsp;{
&amp;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;keywords&amp;quot;:&amp;nbsp;keyword,
&amp;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;page_no&amp;quot;:&amp;nbsp;page_no,
&amp;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;page_size&amp;quot;:&amp;nbsp;page_size,
&amp;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;sort_type&amp;quot;:&amp;nbsp;sort_type&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;price_start&amp;nbsp;is&amp;nbsp;not&amp;nbsp;None:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;business_params[&amp;quot;price_start&amp;quot;]&amp;nbsp;=&amp;nbsp;price_start&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;price_end&amp;nbsp;is&amp;nbsp;not&amp;nbsp;None:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;business_params[&amp;quot;price_end&amp;quot;]&amp;nbsp;=&amp;nbsp;price_end&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;category_id&amp;nbsp;is&amp;nbsp;not&amp;nbsp;None:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;business_params[&amp;quot;category_id&amp;quot;]&amp;nbsp;=&amp;nbsp;category_id
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params&amp;nbsp;=&amp;nbsp;self._build_params(**business_params)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;response&amp;nbsp;=&amp;nbsp;self.session.get(self.BASE_URL,&amp;nbsp;params=params,&amp;nbsp;timeout=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;response.raise_for_status()
&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;response.json()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except&amp;nbsp;requests.exceptions.RequestException&amp;nbsp;as&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;print(f&amp;quot;请求异常:&amp;nbsp;{e}&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;{&amp;quot;error&amp;quot;:&amp;nbsp;str(e)}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;parse_products(self,&amp;nbsp;api_response:&amp;nbsp;dict)&amp;nbsp;-&amp;gt;&amp;nbsp;List[ProductItem]:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;解析&amp;nbsp;API&amp;nbsp;响应，提取结构化商品数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;products&amp;nbsp;=&amp;nbsp;[]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;not&amp;nbsp;api_response&amp;nbsp;or&amp;nbsp;&amp;quot;result&amp;quot;&amp;nbsp;not&amp;nbsp;in&amp;nbsp;api_response:
&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(f&amp;quot;响应异常:&amp;nbsp;{api_response.get(&amp;#39;error&amp;#39;,&amp;nbsp;&amp;#39;未知错误&amp;#39;)}&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;products
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;api_response[&amp;quot;result&amp;quot;]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;product_list&amp;nbsp;=&amp;nbsp;result.get(&amp;quot;products&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;for&amp;nbsp;item&amp;nbsp;in&amp;nbsp;product_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;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;product&amp;nbsp;=&amp;nbsp;ProductItem(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;product_id=str(item.get(&amp;quot;productId&amp;quot;,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;title=item.get(&amp;quot;subject&amp;quot;,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price=float(item.get(&amp;quot;price&amp;quot;,&amp;nbsp;0)&amp;nbsp;or&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;price_range=item.get(&amp;quot;priceRange&amp;quot;,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;moq=int(item.get(&amp;quot;minOrderQuantity&amp;quot;,&amp;nbsp;1)&amp;nbsp;or&amp;nbsp;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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;unit=item.get(&amp;quot;unit&amp;quot;,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;quantity=int(item.get(&amp;quot;quantity&amp;quot;,&amp;nbsp;0)&amp;nbsp;or&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;sale_info=item.get(&amp;quot;saleInfo&amp;quot;,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;supplier_name=item.get(&amp;quot;supplierName&amp;quot;,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;supplier_id=str(item.get(&amp;quot;supplierId&amp;quot;,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;location=item.get(&amp;quot;location&amp;quot;,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;image_url=item.get(&amp;quot;imageUrl&amp;quot;,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;detail_url=item.get(&amp;quot;detailUrl&amp;quot;,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;is_support_mix=item.get(&amp;quot;isSupportMix&amp;quot;,&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;credit_level=item.get(&amp;quot;creditLevel&amp;quot;,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;products.append(product)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except&amp;nbsp;(ValueError,&amp;nbsp;TypeError)&amp;nbsp;as&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;print(f&amp;quot;解析商品数据异常:&amp;nbsp;{e},&amp;nbsp;原始数据:&amp;nbsp;{item}&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;return&amp;nbsp;products#&amp;nbsp;====================&amp;nbsp;使用示例&amp;nbsp;====================if&amp;nbsp;__name__&amp;nbsp;==&amp;nbsp;&amp;quot;__main__&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;初始化客户端（替换为真实凭证）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;client&amp;nbsp;=&amp;nbsp;Alibaba1688Client(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;app_key=&amp;quot;your_app_key&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;app_secret=&amp;quot;your_app_secret&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;1：基础关键词搜索
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;=&amp;quot;&amp;nbsp;*&amp;nbsp;60)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;示例&amp;nbsp;1：搜索&amp;#39;蓝牙耳机&amp;#39;，按销量排序&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;=&amp;quot;&amp;nbsp;*&amp;nbsp;60)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response&amp;nbsp;=&amp;nbsp;client.search_by_keyword(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keyword=&amp;quot;蓝牙耳机&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;page_no=1,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;page_size=20,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sort_type=&amp;quot;total&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;products&amp;nbsp;=&amp;nbsp;client.parse_products(response)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;共获取&amp;nbsp;{len(products)}&amp;nbsp;个商品：\n&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;idx,&amp;nbsp;p&amp;nbsp;in&amp;nbsp;enumerate(products[:5],&amp;nbsp;1):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;【{idx}】{p.title[:40]}...&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;商品ID:&amp;nbsp;{p.product_id}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;价格:&amp;nbsp;¥{p.price}&amp;nbsp;({p.price_range})&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;起订量:&amp;nbsp;{p.moq}&amp;nbsp;{p.unit}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;库存:&amp;nbsp;{p.quantity}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;供应商:&amp;nbsp;{p.supplier_name}&amp;nbsp;({p.location})&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;诚信通:&amp;nbsp;{p.credit_level}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;链接:&amp;nbsp;{p.detail_url}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print()
&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;print(&amp;quot;=&amp;quot;&amp;nbsp;*&amp;nbsp;60)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;示例&amp;nbsp;2：搜索&amp;#39;连衣裙&amp;#39;，价格&amp;nbsp;50-100&amp;nbsp;元，按价格升序&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;=&amp;quot;&amp;nbsp;*&amp;nbsp;60)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response&amp;nbsp;=&amp;nbsp;client.search_by_keyword(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keyword=&amp;quot;连衣裙&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;page_no=1,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;page_size=20,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sort_type=&amp;quot;price_asc&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price_start=50.0,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price_end=100.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;products&amp;nbsp;=&amp;nbsp;client.parse_products(response)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;筛选后共&amp;nbsp;{len(products)}&amp;nbsp;个商品\n&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;p&amp;nbsp;in&amp;nbsp;products[:3]:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;¥{p.price}&amp;nbsp;|&amp;nbsp;{p.title[:30]}...&amp;nbsp;|&amp;nbsp;MOQ:{p.moq}{p.unit}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;示例&amp;nbsp;3：分页遍历（获取前&amp;nbsp;100&amp;nbsp;条）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;\n&amp;quot;&amp;nbsp;+&amp;nbsp;&amp;quot;=&amp;quot;&amp;nbsp;*&amp;nbsp;60)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;示例&amp;nbsp;3：分页获取前&amp;nbsp;100&amp;nbsp;条商品&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;=&amp;quot;&amp;nbsp;*&amp;nbsp;60)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;all_products&amp;nbsp;=&amp;nbsp;[]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;page&amp;nbsp;in&amp;nbsp;range(1,&amp;nbsp;6):&amp;nbsp;&amp;nbsp;#&amp;nbsp;5&amp;nbsp;页&amp;nbsp;×&amp;nbsp;20&amp;nbsp;=&amp;nbsp;100&amp;nbsp;条
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resp&amp;nbsp;=&amp;nbsp;client.search_by_keyword(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keyword=&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;page_no=page,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;page_size=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;&amp;nbsp;&amp;nbsp;&amp;nbsp;page_products&amp;nbsp;=&amp;nbsp;client.parse_products(resp)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;all_products.extend(page_products)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;限流控制：个人开发者&amp;nbsp;50&amp;nbsp;次/分钟
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;page&amp;nbsp;&amp;lt;&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;time.sleep(1.5)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;累计获取&amp;nbsp;{len(all_products)}&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;&amp;nbsp;if&amp;nbsp;all_products:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;prices&amp;nbsp;=&amp;nbsp;[p.price&amp;nbsp;for&amp;nbsp;p&amp;nbsp;in&amp;nbsp;all_products&amp;nbsp;if&amp;nbsp;p.price&amp;nbsp;&amp;gt;&amp;nbsp;0]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;avg_price&amp;nbsp;=&amp;nbsp;sum(prices)&amp;nbsp;/&amp;nbsp;len(prices)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;min_price&amp;nbsp;=&amp;nbsp;min(prices)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;max_price&amp;nbsp;=&amp;nbsp;max(prices)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;价格统计:&amp;nbsp;最低¥{min_price},&amp;nbsp;最高¥{max_price},&amp;nbsp;平均¥{avg_price:.2f}&amp;quot;)&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;五、商品详情接口：获取价格与 SKU 深度数据&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;搜索接口返回的是商品摘要，如需获取完整价格体系（阶梯价、SKU 价）、库存、图文详情，需调用 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;alibaba.product.get&lt;/code&gt; 接口。&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://developer.aliyun.com/article/1706755&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;阿里云开发者社区&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;5.1 商品详情接口实现&lt;/h3&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;class&amp;nbsp;Alibaba1688Client:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;...&amp;nbsp;接上文&amp;nbsp;...
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;get_product_detail(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;product_id:&amp;nbsp;str,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fields:&amp;nbsp;Optional[str]&amp;nbsp;=&amp;nbsp;None
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;-&amp;gt;&amp;nbsp;Dict:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;获取商品详情（含价格、SKU、库存、图文等）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Args:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;product_id:&amp;nbsp;1688&amp;nbsp;商品数字&amp;nbsp;ID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fields:&amp;nbsp;指定返回字段，逗号分隔
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;shippingInfo,saleInfo,skuInfos,productInfo&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Returns:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;business_params&amp;nbsp;=&amp;nbsp;{
&amp;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;method&amp;quot;:&amp;nbsp;&amp;quot;com.alibaba.product.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;quot;productId&amp;quot;:&amp;nbsp;product_id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;fields:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;business_params[&amp;quot;fields&amp;quot;]&amp;nbsp;=&amp;nbsp;fields
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params&amp;nbsp;=&amp;nbsp;self._build_params(**business_params)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;response&amp;nbsp;=&amp;nbsp;self.session.get(self.BASE_URL,&amp;nbsp;params=params,&amp;nbsp;timeout=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;response.raise_for_status()
&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;response.json()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except&amp;nbsp;requests.exceptions.RequestException&amp;nbsp;as&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;return&amp;nbsp;{&amp;quot;error&amp;quot;:&amp;nbsp;str(e)}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;parse_price_info(self,&amp;nbsp;detail_response:&amp;nbsp;dict)&amp;nbsp;-&amp;gt;&amp;nbsp;Dict:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;解析商品价格体系（批发价、阶梯价、SKU&amp;nbsp;价）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price_info&amp;nbsp;=&amp;nbsp;{
&amp;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;product_id&amp;quot;:&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;quot;title&amp;quot;:&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;quot;reference_price&amp;quot;:&amp;nbsp;0.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;quot;sale_price&amp;quot;:&amp;nbsp;0.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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;price_range&amp;quot;:&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;moq&amp;quot;:&amp;nbsp;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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;最小起订量
&amp;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;unit&amp;quot;:&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;quot;wholesale_tiers&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;sku_prices&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;SKU&amp;nbsp;规格价格
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;quot;result&amp;quot;&amp;nbsp;not&amp;nbsp;in&amp;nbsp;detail_response:
&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;price_info
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;detail_response[&amp;quot;result&amp;quot;]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;product&amp;nbsp;=&amp;nbsp;result.get(&amp;quot;productInfo&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;price_info[&amp;quot;product_id&amp;quot;]&amp;nbsp;=&amp;nbsp;str(product.get(&amp;quot;id&amp;quot;,&amp;nbsp;&amp;quot;&amp;quot;))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price_info[&amp;quot;title&amp;quot;]&amp;nbsp;=&amp;nbsp;product.get(&amp;quot;subject&amp;quot;,&amp;nbsp;&amp;quot;&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price_info[&amp;quot;reference_price&amp;quot;]&amp;nbsp;=&amp;nbsp;float(product.get(&amp;quot;referencePrice&amp;quot;,&amp;nbsp;0)&amp;nbsp;or&amp;nbsp;0)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price_info[&amp;quot;sale_price&amp;quot;]&amp;nbsp;=&amp;nbsp;float(product.get(&amp;quot;saleInfo&amp;quot;,&amp;nbsp;{}).get(&amp;quot;price&amp;quot;,&amp;nbsp;0)&amp;nbsp;or&amp;nbsp;0)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price_info[&amp;quot;price_range&amp;quot;]&amp;nbsp;=&amp;nbsp;product.get(&amp;quot;priceRange&amp;quot;,&amp;nbsp;&amp;quot;&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price_info[&amp;quot;moq&amp;quot;]&amp;nbsp;=&amp;nbsp;int(product.get(&amp;quot;saleInfo&amp;quot;,&amp;nbsp;{}).get(&amp;quot;minQuantity&amp;quot;,&amp;nbsp;1)&amp;nbsp;or&amp;nbsp;1)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price_info[&amp;quot;unit&amp;quot;]&amp;nbsp;=&amp;nbsp;product.get(&amp;quot;saleInfo&amp;quot;,&amp;nbsp;{}).get(&amp;quot;unit&amp;quot;,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;解析阶梯批发价
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sale_info&amp;nbsp;=&amp;nbsp;product.get(&amp;quot;saleInfo&amp;quot;,&amp;nbsp;{})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;&amp;quot;priceRanges&amp;quot;&amp;nbsp;in&amp;nbsp;sale_info:
&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;tier&amp;nbsp;in&amp;nbsp;sale_info[&amp;quot;priceRanges&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;price_info[&amp;quot;wholesale_tiers&amp;quot;].append({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;min_quantity&amp;quot;:&amp;nbsp;tier.get(&amp;quot;startQuantity&amp;quot;,&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;&amp;quot;max_quantity&amp;quot;:&amp;nbsp;tier.get(&amp;quot;endQuantity&amp;quot;,&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;&amp;quot;price&amp;quot;:&amp;nbsp;float(tier.get(&amp;quot;price&amp;quot;,&amp;nbsp;0)&amp;nbsp;or&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;&amp;quot;unit&amp;quot;:&amp;nbsp;tier.get(&amp;quot;unit&amp;quot;,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;解析&amp;nbsp;SKU&amp;nbsp;价格
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sku_infos&amp;nbsp;=&amp;nbsp;product.get(&amp;quot;skuInfos&amp;quot;,&amp;nbsp;[])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;sku&amp;nbsp;in&amp;nbsp;sku_infos:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sku_price&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;sku_id&amp;quot;:&amp;nbsp;sku.get(&amp;quot;skuId&amp;quot;,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;attributes&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;price&amp;quot;:&amp;nbsp;float(sku.get(&amp;quot;price&amp;quot;,&amp;nbsp;0)&amp;nbsp;or&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;quot;quantity&amp;quot;:&amp;nbsp;int(sku.get(&amp;quot;quantity&amp;quot;,&amp;nbsp;0)&amp;nbsp;or&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;quot;sku_code&amp;quot;:&amp;nbsp;sku.get(&amp;quot;skuCode&amp;quot;,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;解析规格属性
&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;&amp;quot;attributes&amp;quot;&amp;nbsp;in&amp;nbsp;sku:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;attr&amp;nbsp;in&amp;nbsp;sku[&amp;quot;attributes&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;sku_price[&amp;quot;attributes&amp;quot;].append({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;name&amp;quot;:&amp;nbsp;attr.get(&amp;quot;attributeName&amp;quot;,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;value&amp;quot;:&amp;nbsp;attr.get(&amp;quot;attributeValue&amp;quot;,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price_info[&amp;quot;sku_prices&amp;quot;].append(sku_price)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;price_info#&amp;nbsp;商品详情使用示例if&amp;nbsp;__name__&amp;nbsp;==&amp;nbsp;&amp;quot;__main__&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;client&amp;nbsp;=&amp;nbsp;Alibaba1688Client(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;app_key=&amp;quot;your_app_key&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;app_secret=&amp;quot;your_app_secret&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;product_id&amp;nbsp;=&amp;nbsp;&amp;quot;619899292404&amp;quot;&amp;nbsp;&amp;nbsp;#&amp;nbsp;示例商品&amp;nbsp;ID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;detail&amp;nbsp;=&amp;nbsp;client.get_product_detail(product_id)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;解析价格信息
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price_data&amp;nbsp;=&amp;nbsp;client.parse_price_info(detail)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;商品:&amp;nbsp;{price_data[&amp;#39;title&amp;#39;]}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;参考价:&amp;nbsp;¥{price_data[&amp;#39;reference_price&amp;#39;]}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;售价:&amp;nbsp;¥{price_data[&amp;#39;sale_price&amp;#39;]}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;价格区间:&amp;nbsp;{price_data[&amp;#39;price_range&amp;#39;]}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;起订量:&amp;nbsp;{price_data[&amp;#39;moq&amp;#39;]}&amp;nbsp;{price_data[&amp;#39;unit&amp;#39;]}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;\n【阶梯批发价】&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;tier&amp;nbsp;in&amp;nbsp;price_data[&amp;quot;wholesale_tiers&amp;quot;]:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;&amp;nbsp;&amp;nbsp;{tier[&amp;#39;min_quantity&amp;#39;]}-{tier[&amp;#39;max_quantity&amp;#39;]}&amp;nbsp;{tier[&amp;#39;unit&amp;#39;]}:&amp;nbsp;¥{tier[&amp;#39;price&amp;#39;]}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;\n【SKU&amp;nbsp;规格价格】&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;sku&amp;nbsp;in&amp;nbsp;price_data[&amp;quot;sku_prices&amp;quot;]:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;attrs&amp;nbsp;=&amp;nbsp;&amp;quot;&amp;nbsp;|&amp;nbsp;&amp;quot;.join([f&amp;quot;{a[&amp;#39;name&amp;#39;]}:{a[&amp;#39;value&amp;#39;]}&amp;quot;&amp;nbsp;for&amp;nbsp;a&amp;nbsp;in&amp;nbsp;sku[&amp;quot;attributes&amp;quot;]])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;&amp;nbsp;&amp;nbsp;SKU&amp;nbsp;{sku[&amp;#39;sku_id&amp;#39;]}:&amp;nbsp;{attrs}&amp;nbsp;→&amp;nbsp;¥{sku[&amp;#39;price&amp;#39;]}&amp;nbsp;(库存:{sku[&amp;#39;quantity&amp;#39;]})&amp;quot;)&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;六、寻源通接口：跨境采购场景&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;1688 寻源通（&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;alibaba.wholesale.goods.search&lt;/code&gt;）专为采购商设计，支持供应商资质筛选、跨境选品等高级功能。&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://juejin.cn/post/7561701894999179305&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;稀土掘金&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;class&amp;nbsp;Alibaba1688Client:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;...&amp;nbsp;接上文&amp;nbsp;...
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;wholesale_search(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keywords:&amp;nbsp;str,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;page_no:&amp;nbsp;int&amp;nbsp;=&amp;nbsp;1,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;page_size:&amp;nbsp;int&amp;nbsp;=&amp;nbsp;50,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price_range:&amp;nbsp;Optional[str]&amp;nbsp;=&amp;nbsp;None,&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;&amp;quot;10,100&amp;quot;&amp;nbsp;表示&amp;nbsp;10-100&amp;nbsp;元
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;is_pre_sale:&amp;nbsp;bool&amp;nbsp;=&amp;nbsp;False,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sort:&amp;nbsp;str&amp;nbsp;=&amp;nbsp;&amp;quot;price_asc&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;price_asc,&amp;nbsp;price_desc,&amp;nbsp;sale_desc
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;high_quality:&amp;nbsp;bool&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;gt;&amp;nbsp;Dict:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&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;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;business_params&amp;nbsp;=&amp;nbsp;{
&amp;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;method&amp;quot;:&amp;nbsp;&amp;quot;alibaba.wholesale.goods.search&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;keywords&amp;quot;:&amp;nbsp;keywords,
&amp;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;page_no&amp;quot;:&amp;nbsp;page_no,
&amp;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;page_size&amp;quot;:&amp;nbsp;page_size,
&amp;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;sort&amp;quot;:&amp;nbsp;sort,
&amp;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;is_pre_sale&amp;quot;:&amp;nbsp;&amp;quot;true&amp;quot;&amp;nbsp;if&amp;nbsp;is_pre_sale&amp;nbsp;else&amp;nbsp;&amp;quot;false&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;high_quality&amp;quot;:&amp;nbsp;&amp;quot;true&amp;quot;&amp;nbsp;if&amp;nbsp;high_quality&amp;nbsp;else&amp;nbsp;&amp;quot;false&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;if&amp;nbsp;price_range:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;business_params[&amp;quot;price_range&amp;quot;]&amp;nbsp;=&amp;nbsp;price_range
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params&amp;nbsp;=&amp;nbsp;self._build_params(**business_params)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;url&amp;nbsp;=&amp;nbsp;&amp;quot;https://gw.open.1688.com/openapi/param2/1/com.alibaba.trade/alibaba.wholesale.goods.search&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;response&amp;nbsp;=&amp;nbsp;self.session.get(url,&amp;nbsp;params=params,&amp;nbsp;timeout=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;return&amp;nbsp;response.json()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except&amp;nbsp;requests.exceptions.RequestException&amp;nbsp;as&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;return&amp;nbsp;{&amp;quot;error&amp;quot;:&amp;nbsp;str(e)}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;七、异常处理与限流控制&lt;/h2&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;7.1 常见错误码&lt;/h3&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; max-width: 100%; width: max-content; position: relative; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;错误码&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;含义&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;解决方案&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;br/&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;400&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;参数无效&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;检查 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;keyword&lt;/code&gt; 格式、必填参数&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;401&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;认证失败&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;更新 AccessToken，检查签名&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;403&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;权限不足/IP 不在白名单&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;添加 IP 白名单，申请接口权限&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;429&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;请求太频繁&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;降低 QPS，使用指数退避重试&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;2000&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;商品不存在/已下架&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;提示商品已删除&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;isv.item-get-service-error&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;商品服务异常&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;商品已下架或无权访问&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;7.2 限流与重试机制&lt;/h3&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;import&amp;nbsp;timeimport&amp;nbsp;randomfrom&amp;nbsp;functools&amp;nbsp;import&amp;nbsp;wrapsdef&amp;nbsp;rate_limited(max_per_minute=50):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;限流装饰器：控制调用频率&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;min_interval&amp;nbsp;=&amp;nbsp;60.0&amp;nbsp;/&amp;nbsp;max_per_minute
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;last_called&amp;nbsp;=&amp;nbsp;[0.0]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;decorator(func):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@wraps(func)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;wrapper(*args,&amp;nbsp;**kwargs):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;elapsed&amp;nbsp;=&amp;nbsp;time.time()&amp;nbsp;-&amp;nbsp;last_called[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;if&amp;nbsp;elapsed&amp;nbsp;&amp;lt;&amp;nbsp;min_interval:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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(min_interval&amp;nbsp;-&amp;nbsp;elapsed)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;func(*args,&amp;nbsp;**kwargs)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;last_called[0]&amp;nbsp;=&amp;nbsp;time.time()
&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;result&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;wrapper&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;decoratordef&amp;nbsp;exponential_backoff(max_retries=3,&amp;nbsp;base_delay=1.0):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;指数退避重试&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;decorator(func):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@wraps(func)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;wrapper(*args,&amp;nbsp;**kwargs):
&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;attempt&amp;nbsp;in&amp;nbsp;range(max_retries):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;func(*args,&amp;nbsp;**kwargs)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except&amp;nbsp;requests.exceptions.HTTPError&amp;nbsp;as&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;if&amp;nbsp;e.response.status_code&amp;nbsp;==&amp;nbsp;429:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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&amp;nbsp;=&amp;nbsp;base_delay&amp;nbsp;*&amp;nbsp;(2&amp;nbsp;**&amp;nbsp;attempt)&amp;nbsp;+&amp;nbsp;random.uniform(0,&amp;nbsp;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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;触发限流，等待&amp;nbsp;{delay:.1f}s&amp;nbsp;后重试&amp;nbsp;({attempt+1}/{max_retries})&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;time.sleep(delay)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;raise
&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;func(*args,&amp;nbsp;**kwargs)&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;wrapper&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;decoratorclass&amp;nbsp;Alibaba1688Client:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;...&amp;nbsp;在原有方法上应用装饰器&amp;nbsp;...
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@rate_limited(max_per_minute=50)&amp;nbsp;&amp;nbsp;#&amp;nbsp;个人开发者默认&amp;nbsp;50&amp;nbsp;次/分钟
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@exponential_backoff(max_retries=3)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;search_by_keyword(self,&amp;nbsp;**kwargs):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;...&amp;nbsp;原有实现&amp;nbsp;...
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pass&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;八、数据持久化与价格监控&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;将采集数据存入数据库，实现价格变动监控：&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;import&amp;nbsp;sqlite3from&amp;nbsp;datetime&amp;nbsp;import&amp;nbsp;datetimeclass&amp;nbsp;PriceMonitorDB:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;价格监控数据库&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;__init__(self,&amp;nbsp;db_path:&amp;nbsp;str&amp;nbsp;=&amp;nbsp;&amp;quot;1688_monitor.db&amp;quot;):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.conn&amp;nbsp;=&amp;nbsp;sqlite3.connect(db_path)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self._init_tables()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;_init_tables(self):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.conn.execute(&amp;quot;&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;CREATE&amp;nbsp;TABLE&amp;nbsp;IF&amp;nbsp;NOT&amp;nbsp;EXISTS&amp;nbsp;products&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;product_id&amp;nbsp;TEXT&amp;nbsp;PRIMARY&amp;nbsp;KEY,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;title&amp;nbsp;TEXT,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;current_price&amp;nbsp;REAL,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price_range&amp;nbsp;TEXT,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;moq&amp;nbsp;INTEGER,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;supplier&amp;nbsp;TEXT,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;location&amp;nbsp;TEXT,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;last_updated&amp;nbsp;TIMESTAMP
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;&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;self.conn.execute(&amp;quot;&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;CREATE&amp;nbsp;TABLE&amp;nbsp;IF&amp;nbsp;NOT&amp;nbsp;EXISTS&amp;nbsp;price_history&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;id&amp;nbsp;INTEGER&amp;nbsp;PRIMARY&amp;nbsp;KEY&amp;nbsp;AUTOINCREMENT,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;product_id&amp;nbsp;TEXT,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price&amp;nbsp;REAL,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;recorded_at&amp;nbsp;TIMESTAMP,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FOREIGN&amp;nbsp;KEY&amp;nbsp;(product_id)&amp;nbsp;REFERENCES&amp;nbsp;products(product_id)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.conn.commit()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;save_product(self,&amp;nbsp;product:&amp;nbsp;ProductItem):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;保存或更新商品信息&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.conn.execute(&amp;quot;&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;INSERT&amp;nbsp;OR&amp;nbsp;REPLACE&amp;nbsp;INTO&amp;nbsp;products&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(product_id,&amp;nbsp;title,&amp;nbsp;current_price,&amp;nbsp;price_range,&amp;nbsp;moq,&amp;nbsp;supplier,&amp;nbsp;location,&amp;nbsp;last_updated)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VALUES&amp;nbsp;(?,&amp;nbsp;?,&amp;nbsp;?,&amp;nbsp;?,&amp;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;&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;product.product_id,&amp;nbsp;product.title,&amp;nbsp;product.price,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;product.price_range,&amp;nbsp;product.moq,&amp;nbsp;product.supplier_name,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;product.location,&amp;nbsp;datetime.now()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;记录价格历史
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.conn.execute(&amp;quot;&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;INSERT&amp;nbsp;INTO&amp;nbsp;price_history&amp;nbsp;(product_id,&amp;nbsp;price,&amp;nbsp;recorded_at)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VALUES&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;&amp;quot;,&amp;nbsp;(product.product_id,&amp;nbsp;product.price,&amp;nbsp;datetime.now()))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.conn.commit()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;get_price_trend(self,&amp;nbsp;product_id:&amp;nbsp;str,&amp;nbsp;days:&amp;nbsp;int&amp;nbsp;=&amp;nbsp;7)&amp;nbsp;-&amp;gt;&amp;nbsp;List[Dict]:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;获取价格趋势&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cursor&amp;nbsp;=&amp;nbsp;self.conn.execute(&amp;quot;&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;SELECT&amp;nbsp;price,&amp;nbsp;recorded_at&amp;nbsp;FROM&amp;nbsp;price_history
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHERE&amp;nbsp;product_id&amp;nbsp;=&amp;nbsp;?&amp;nbsp;AND&amp;nbsp;recorded_at&amp;nbsp;&amp;gt;&amp;nbsp;datetime(&amp;#39;now&amp;#39;,&amp;nbsp;&amp;#39;-{}&amp;nbsp;days&amp;#39;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ORDER&amp;nbsp;BY&amp;nbsp;recorded_at
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;.format(days),&amp;nbsp;(product_id,))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;[{&amp;quot;price&amp;quot;:&amp;nbsp;row[0],&amp;nbsp;&amp;quot;time&amp;quot;:&amp;nbsp;row[1]}&amp;nbsp;for&amp;nbsp;row&amp;nbsp;in&amp;nbsp;cursor.fetchall()]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;detect_price_change(self,&amp;nbsp;product_id:&amp;nbsp;str,&amp;nbsp;new_price:&amp;nbsp;float)&amp;nbsp;-&amp;gt;&amp;nbsp;Optional[float]:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;检测价格变动，返回旧价格&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cursor&amp;nbsp;=&amp;nbsp;self.conn.execute(
&amp;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;SELECT&amp;nbsp;current_price&amp;nbsp;FROM&amp;nbsp;products&amp;nbsp;WHERE&amp;nbsp;product_id&amp;nbsp;=&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;&amp;nbsp;(product_id,)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;row&amp;nbsp;=&amp;nbsp;cursor.fetchone()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;row&amp;nbsp;and&amp;nbsp;row[0]&amp;nbsp;!=&amp;nbsp;new_price:
&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;row[0]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;None&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;九、完整监控任务示例&lt;/h2&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;def&amp;nbsp;run_monitor_task():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;定时监控任务&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;client&amp;nbsp;=&amp;nbsp;Alibaba1688Client(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;app_key=&amp;quot;your_app_key&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;app_secret=&amp;quot;your_app_secret&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;db&amp;nbsp;=&amp;nbsp;PriceMonitorDB()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;监控关键词列表
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keywords&amp;nbsp;=&amp;nbsp;[&amp;quot;蓝牙耳机&amp;quot;,&amp;nbsp;&amp;quot;手机壳&amp;quot;,&amp;nbsp;&amp;quot;数据线&amp;quot;]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;keyword&amp;nbsp;in&amp;nbsp;keywords:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;\n正在监控关键词:&amp;nbsp;{keyword}&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;response&amp;nbsp;=&amp;nbsp;client.search_by_keyword(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keyword=keyword,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;page_no=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;page_size=50,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sort_type=&amp;quot;total&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;products&amp;nbsp;=&amp;nbsp;client.parse_products(response)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;product&amp;nbsp;in&amp;nbsp;products:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;保存数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;db.save_product(product)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;检测价格变动
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;old_price&amp;nbsp;=&amp;nbsp;db.detect_price_change(product.product_id,&amp;nbsp;product.price)
&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;old_price&amp;nbsp;is&amp;nbsp;not&amp;nbsp;None:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;change_pct&amp;nbsp;=&amp;nbsp;(product.price&amp;nbsp;-&amp;nbsp;old_price)&amp;nbsp;/&amp;nbsp;old_price&amp;nbsp;*&amp;nbsp;100
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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(f&amp;quot;⚠️&amp;nbsp;价格变动:&amp;nbsp;{product.title[:30]}...&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;print(f&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;¥{old_price}&amp;nbsp;→&amp;nbsp;¥{product.price}&amp;nbsp;({change_pct:+.1f}%)&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;获取详情（深度监控前&amp;nbsp;10&amp;nbsp;名商品）
&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;product.price&amp;nbsp;&amp;gt;&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;detail&amp;nbsp;=&amp;nbsp;client.get_product_detail(product.product_id)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price_detail&amp;nbsp;=&amp;nbsp;client.parse_price_info(detail)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;可进一步分析阶梯价、SKU&amp;nbsp;库存等
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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(2)&amp;nbsp;&amp;nbsp;#&amp;nbsp;关键词间间隔if&amp;nbsp;__name__&amp;nbsp;==&amp;nbsp;&amp;quot;__main__&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;run_monitor_task()&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;十、关键注意事项&lt;/h2&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; max-width: 100%; width: max-content; position: relative; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;注意事项&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;说明&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;企业认证&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;1688 API 主要面向企业，个人权限受限，无法获取批发价等核心字段&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;IP 白名单&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;必须在开放平台配置请求服务器 IP，否则返回 403&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;版本选择&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;2026 年使用 2.0 版本，1.0 版本不返回批发价、起批量&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;频率控制&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;个人 50 次/分钟，企业可扩容至 1000 次/分钟&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;数据合规&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;仅用于自有业务分析，不得转售或恶意爬取&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Token 刷新&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;AccessToken 有效期 30 天（个人版），需实现自动刷新&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;十一、总结&lt;/h2&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: rgba(0, 0, 0, 0.25) rgba(0, 0, 0, 0); margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; max-width: 100%; width: max-content; position: relative; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: rgba(0, 0, 0, 0.25) rgba(0, 0, 0, 0); margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: rgba(0, 0, 0, 0.25) rgba(0, 0, 0, 0); margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: rgba(0, 0, 0, 0.25) rgba(0, 0, 0, 0); margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;场景&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: rgba(0, 0, 0, 0.25) rgba(0, 0, 0, 0); margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;推荐接口&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;核心功能&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;关键词搜索选品&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;alibaba.product.search&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;批量获取商品列表、价格区间、销量&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;深度价格分析&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;alibaba.product.get&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;阶梯批发价、SKU 价、库存、图文详情&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;跨境采购寻源&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;alibaba.wholesale.goods.search&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;供应商资质、实力商家筛选&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;价格监控预警&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;组合使用搜索 + 详情 + 数据库&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;价格变动检测、趋势分析&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;通过 1688 开放平台的官方 API，开发者可以合规、稳定地获取 B2B 批发商品数据，构建选品系统、比价工具、供应链管理平台。关键在于&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;正确的签名生成&lt;/span&gt;、&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;合理的限流控制&lt;/span&gt;和&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;完善的数据持久化设计&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;如遇任何疑问或有进一步的需求，&lt;a href=&quot;https://o0b.cn/jelena&quot; target=&quot;_self&quot;&gt;请随时与我私信或者评论联系。&lt;/a&gt;&lt;/p&gt;</description><pubDate>Mon, 25 May 2026 17:29:43 +0800</pubDate></item><item><title>Python 代码是什么？—— 从字节到执行的完整解析</title><link>https://jelenaapi.com/?id=116</link><description>&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;Python 是一门以简洁优雅著称的编程语言，但&amp;quot;简洁&amp;quot;的背后隐藏着一套精密的执行机制。本文将深入剖析 Python 代码的本质：它从文本文件到最终执行，经历了怎样的旅程？为什么 Python 被称为&amp;quot;解释型语言&amp;quot;却又存在 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;.pyc&lt;/code&gt; 文件？让我们从源码层面揭开 Python 代码的神秘面纱。&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;一、Python 代码的本质：文本还是字节码？&lt;/h2&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;1.1 你写的 Python 代码是什么？&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;当你创建一个 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;hello.py&lt;/code&gt; 文件，写下：&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;def&amp;nbsp;greet(name):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;f&amp;quot;Hello,&amp;nbsp;{name}!&amp;quot;print(greet(&amp;quot;Python&amp;quot;))&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;这本质上是一个&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;纯文本文件&lt;/span&gt;，包含符合 Python 语法规则的字符序列。CPU 无法直接执行这些字符——它需要经过多层转换，最终变成机器能理解的指令。&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;1.2 Python 代码的两种形态&lt;/h3&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; max-width: 100%; width: max-content; position: relative; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;形态&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;文件扩展名&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;内容&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;人类可读性&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;源代码&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;.py&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;ASCII/UTF-8 文本&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;✅ 完全可读&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;字节码&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;.pyc&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;二进制字节序列&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;❌ 不可直接阅读&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;Python 代码的执行过程，就是&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;从源代码到字节码，再到机器码&lt;/span&gt;的转换过程。&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;二、Python 代码的执行全流程&lt;/h2&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;plain&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-plain&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&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;│&amp;nbsp;&amp;nbsp;&amp;nbsp;词法分析&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;──▶&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;语法分析&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;──▶&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;编译器&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;.py&amp;nbsp;文件&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;(Tokenizer)&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;(Parser)&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;(Compiler)&amp;nbsp;&amp;nbsp;│
└─────────────┘&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;└─────────────┘&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;└─────────────┘&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;└──────┬──────┘
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;▼
┌─────────────┐&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;┌─────────────┐&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;┌─────────────┐&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;┌─────────────┐
│&amp;nbsp;&amp;nbsp;&amp;nbsp;机器码&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;◀──&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CPU&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;◀──&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;解释器&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;◀──&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;字节码&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;(二进制)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;(执行)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;(PVM/VM)&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;.pyc&amp;nbsp;文件&amp;nbsp;&amp;nbsp;&amp;nbsp;│
└─────────────┘&amp;nbsp;&amp;nbsp;&amp;nbsp;&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 data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;2.1 第一步：词法分析（Lexical Analysis）&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;Python 解释器首先将源代码字符流切分为&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;词法单元（Token）&lt;/span&gt;：&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;#&amp;nbsp;源代码x&amp;nbsp;=&amp;nbsp;1&amp;nbsp;+&amp;nbsp;2#&amp;nbsp;词法分析结果（Token&amp;nbsp;序列）[
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Token(NAME,&amp;nbsp;&amp;#39;x&amp;#39;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Token(OP,&amp;nbsp;&amp;#39;=&amp;#39;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Token(NUMBER,&amp;nbsp;&amp;#39;1&amp;#39;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Token(OP,&amp;nbsp;&amp;#39;+&amp;#39;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Token(NUMBER,&amp;nbsp;&amp;#39;2&amp;#39;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Token(NEWLINE,&amp;nbsp;&amp;#39;\n&amp;#39;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Token(ENDMARKER,&amp;nbsp;&amp;#39;&amp;#39;)]&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;你可以用 Python 标准库 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;tokenize&lt;/code&gt; 模块亲眼见证这个过程：&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;import&amp;nbsp;tokenizeimport&amp;nbsp;io

code&amp;nbsp;=&amp;nbsp;&amp;#39;x&amp;nbsp;=&amp;nbsp;1&amp;nbsp;+&amp;nbsp;2&amp;#39;#&amp;nbsp;将字符串转换为文件对象reader&amp;nbsp;=&amp;nbsp;io.BytesIO(code.encode(&amp;#39;utf-8&amp;#39;))#&amp;nbsp;词法分析for&amp;nbsp;token&amp;nbsp;in&amp;nbsp;tokenize.tokenize(reader.readline):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;{token.type:12}&amp;nbsp;{token.string!r:10}&amp;nbsp;行{token.start[0]}&amp;nbsp;列{token.start[1]}&amp;quot;)&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;输出：&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;plain&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-plain&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;ENCODING&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;utf-8&amp;#39;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;行0&amp;nbsp;列0
NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;x&amp;#39;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;行1&amp;nbsp;列0
OP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;=&amp;#39;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;行1&amp;nbsp;列2
NUMBER&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;1&amp;#39;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;行1&amp;nbsp;列4
OP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;+&amp;#39;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;行1&amp;nbsp;列6
NUMBER&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;2&amp;#39;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;行1&amp;nbsp;列8
NEWLINE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;\n&amp;#39;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;行1&amp;nbsp;列9
ENDMARKER&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;&amp;#39;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;行2&amp;nbsp;列0&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;2.2 第二步：语法分析（Syntax Analysis / Parsing）&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;词法单元被送入&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;解析器（Parser）&lt;/span&gt;，按照 Python 语法规则构建&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;抽象语法树（AST, Abstract Syntax Tree）&lt;/span&gt;。&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;AST 是源代码的&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;结构化表示&lt;/span&gt;，以树形结构描述代码的逻辑关系：&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;#&amp;nbsp;源代码if&amp;nbsp;x&amp;nbsp;&amp;gt;&amp;nbsp;0:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;positive&amp;quot;)#&amp;nbsp;对应的&amp;nbsp;AST（简化表示）Module(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;body=[
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;test=Compare(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;left=Name(id=&amp;#39;x&amp;#39;,&amp;nbsp;ctx=Load()),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ops=[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;comparators=[Constant(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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;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;&amp;nbsp;Expr(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;value=Call(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;func=Name(id=&amp;#39;print&amp;#39;,&amp;nbsp;ctx=Load()),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;args=[Constant(value=&amp;#39;positive&amp;#39;)],
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keywords=[]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;],
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;orelse=[]
&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 data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;你可以用 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;ast&lt;/code&gt; 模块查看任何代码的 AST：&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;import&amp;nbsp;ast

code&amp;nbsp;=&amp;nbsp;&amp;#39;&amp;#39;&amp;#39;
def&amp;nbsp;factorial(n):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;n&amp;nbsp;&amp;lt;=&amp;nbsp;1:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;n&amp;nbsp;*&amp;nbsp;factorial(n&amp;nbsp;-&amp;nbsp;1)
&amp;#39;&amp;#39;&amp;#39;tree&amp;nbsp;=&amp;nbsp;ast.parse(code)print(ast.dump(tree,&amp;nbsp;indent=2))&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;2.3 第三步：编译为字节码（Compilation）&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;AST 被送入&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;编译器（Compiler）&lt;/span&gt;，生成&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;字节码（Bytecode）&lt;/span&gt;。字节码是&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;平台无关的中间代码&lt;/span&gt;，类似于 Java 的 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;.class&lt;/code&gt; 文件或 .NET 的 IL 代码。&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;Python 字节码是&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;基于栈的虚拟机指令&lt;/span&gt;，每条指令占用 2 字节（操作码 + 参数）。&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;import&amp;nbsp;disdef&amp;nbsp;greet(name):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;f&amp;quot;Hello,&amp;nbsp;{name}!&amp;quot;#&amp;nbsp;查看函数的字节码dis.dis(greet)&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;输出：&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;plain&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-plain&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;&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;0&amp;nbsp;LOAD_CONST&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;#39;Hello,&amp;nbsp;&amp;#39;)
&amp;nbsp;&amp;nbsp;&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;LOAD_FAST&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;(name)
&amp;nbsp;&amp;nbsp;&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;FORMAT_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;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;6&amp;nbsp;BUILD_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;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;8&amp;nbsp;RETURN_VALUE&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;指令解析：&lt;/div&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; max-width: 100%; width: max-content; position: relative; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;偏移&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;指令&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;参数&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;含义&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;0&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;LOAD_CONST&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;1&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;将常量 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;&amp;#39;Hello, &amp;#39;&lt;/code&gt; 压入栈&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;2&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;LOAD_FAST&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;0&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;将局部变量 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;name&lt;/code&gt; 压入栈&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;4&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;FORMAT_VALUE&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;0&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;格式化栈顶值（f-string）&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;6&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;BUILD_STRING&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;2&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;从栈顶取 2 个值拼接为字符串&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;8&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;RETURN_VALUE&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;-&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;将栈顶值作为返回值&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;2.4 第四步：虚拟机执行（PVM - Python Virtual Machine）&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;字节码最终由 &lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Python 虚拟机（PVM）&lt;/span&gt; 执行。PVM 是一个&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;基于栈的虚拟机&lt;/span&gt;，核心是一个巨大的 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;switch&lt;/code&gt; 语句（在 CPython 实现中），根据操作码分派执行对应的 C 函数。&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;c&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-c&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;//&amp;nbsp;CPython&amp;nbsp;核心执行循环（简化版）//&amp;nbsp;Python/ceval.cfor&amp;nbsp;(;;)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;opcode&amp;nbsp;=&amp;nbsp;NEXTOP();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;switch&amp;nbsp;(opcode)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&amp;nbsp;TARGET(LOAD_CONST):&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PyObject&amp;nbsp;*value&amp;nbsp;=&amp;nbsp;GETITEM(consts,&amp;nbsp;oparg);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Py_INCREF(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;PUSH(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;DISPATCH();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&amp;nbsp;TARGET(BINARY_ADD):&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PyObject&amp;nbsp;*right&amp;nbsp;=&amp;nbsp;POP();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PyObject&amp;nbsp;*left&amp;nbsp;=&amp;nbsp;TOP();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PyObject&amp;nbsp;*sum&amp;nbsp;=&amp;nbsp;PyNumber_Add(left,&amp;nbsp;right);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Py_DECREF(left);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Py_DECREF(right);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SET_TOP(sum);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DISPATCH();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&amp;nbsp;TARGET(RETURN_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;retval&amp;nbsp;=&amp;nbsp;POP();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;goto&amp;nbsp;exiting;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;...&amp;nbsp;数百个&amp;nbsp;case
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;关键点&lt;/span&gt;：CPython（标准 Python 实现）的解释器是用 &lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;C 语言&lt;/span&gt; 编写的，字节码最终通过 C 函数调用操作系统 API，再转换为机器码执行。&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;三、CPython 的编译缓存机制：&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;.pyc&lt;/code&gt;&amp;nbsp;文件揭秘&lt;/h2&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;3.1 为什么存在&amp;nbsp;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;.pyc&lt;/code&gt;&amp;nbsp;文件？&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;很多人误以为 Python 是纯解释型语言，但实际上 CPython 会在首次导入模块时&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;自动编译&lt;/span&gt;源码为字节码，并缓存到 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;.pyc&lt;/code&gt; 文件中。&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;目的&lt;/span&gt;：避免每次导入都重新编译，加速模块加载。&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;3.2&amp;nbsp;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;.pyc&lt;/code&gt;&amp;nbsp;文件生成流程&lt;/h3&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;plain&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-plain&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;首次导入模块&amp;nbsp;hello.py
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;hello.pyc&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;是否存在且未过期？&amp;nbsp;│
└────────┬────────┘
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;┌────┴────┐
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;▼&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;▼
&amp;nbsp;&amp;nbsp;不存在&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;存在且新鲜
&amp;nbsp;&amp;nbsp;或已过期&amp;nbsp;&amp;nbsp;&amp;nbsp;(mtime&amp;nbsp;匹配)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;▼&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;▼
&amp;nbsp;&amp;nbsp;重新编译&amp;nbsp;&amp;nbsp;&amp;nbsp;直接加载
&amp;nbsp;&amp;nbsp;生成&amp;nbsp;.pyc&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;__pycache__/&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hello.cpython-311.pyc&amp;nbsp;│
└─────────────────┘&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;3.3 查看和验证&amp;nbsp;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;.pyc&lt;/code&gt;&amp;nbsp;文件&lt;/h3&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;import&amp;nbsp;py_compileimport&amp;nbsp;marshalimport&amp;nbsp;structimport&amp;nbsp;time#&amp;nbsp;手动编译生成&amp;nbsp;.pycpy_compile.compile(&amp;#39;hello.py&amp;#39;,&amp;nbsp;doraise=True)#&amp;nbsp;读取&amp;nbsp;.pyc&amp;nbsp;文件结构with&amp;nbsp;open(&amp;#39;__pycache__/hello.cpython-311.pyc&amp;#39;,&amp;nbsp;&amp;#39;rb&amp;#39;)&amp;nbsp;as&amp;nbsp;f:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;魔数（标识&amp;nbsp;Python&amp;nbsp;版本）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;magic&amp;nbsp;=&amp;nbsp;f.read(4)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;时间戳/哈希
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;timestamp&amp;nbsp;=&amp;nbsp;struct.unpack(&amp;#39;&amp;lt;I&amp;#39;,&amp;nbsp;f.read(4))[0]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;魔数:&amp;nbsp;{magic.hex()}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;编译时间:&amp;nbsp;{time.ctime(timestamp)}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;跳过其他头部信息（PEP&amp;nbsp;552）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;加载字节码对象
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;f.seek(16)&amp;nbsp;&amp;nbsp;#&amp;nbsp;Python&amp;nbsp;3.7+&amp;nbsp;头部为&amp;nbsp;16&amp;nbsp;字节
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;code_object&amp;nbsp;=&amp;nbsp;marshal.load(f)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;\n代码对象类型:&amp;nbsp;{type(code_object)}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;常量表:&amp;nbsp;{code_object.co_consts}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;变量名:&amp;nbsp;{code_object.co_varnames}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;文件名:&amp;nbsp;{code_object.co_filename}&amp;quot;)&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;3.4&amp;nbsp;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;.pyc&lt;/code&gt;&amp;nbsp;文件格式（PEP 552）&lt;/h3&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; max-width: 100%; width: max-content; position: relative; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;字段&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;大小&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;说明&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;Magic Number&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;4 字节&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;Python 版本标识（如 3.11 为 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;0x610d0d0a&lt;/code&gt;）&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;Padding&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;4 字节&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;保留字段&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;时间戳/哈希&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;4 字节&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;用于判断源文件是否变更&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;文件大小&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;4 字节&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;源文件大小（可选）&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;字节码对象&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;变长&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;marshal&lt;/code&gt; 序列化的 Code Object&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;四、Python 代码的底层数据结构&lt;/h2&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;4.1 Code Object：字节码的载体&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;每个 Python 函数、类、模块都对应一个 &lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Code Object&lt;/span&gt;（代码对象），它是编译后的核心数据结构：&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;def&amp;nbsp;example(a,&amp;nbsp;b):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;c&amp;nbsp;=&amp;nbsp;a&amp;nbsp;+&amp;nbsp;b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;c&amp;nbsp;*&amp;nbsp;2code&amp;nbsp;=&amp;nbsp;example.__code__print(f&amp;quot;co_name:&amp;nbsp;{code.co_name}&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;exampleprint(f&amp;quot;co_argcount:&amp;nbsp;{code.co_argcount}&amp;quot;)&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;参数个数:&amp;nbsp;2print(f&amp;quot;co_nlocals:&amp;nbsp;{code.co_nlocals}&amp;quot;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;局部变量数:&amp;nbsp;3&amp;nbsp;(a,&amp;nbsp;b,&amp;nbsp;c)print(f&amp;quot;co_varnames:&amp;nbsp;{code.co_varnames}&amp;quot;)&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;变量名:&amp;nbsp;(&amp;#39;a&amp;#39;,&amp;nbsp;&amp;#39;b&amp;#39;,&amp;nbsp;&amp;#39;c&amp;#39;)print(f&amp;quot;co_consts:&amp;nbsp;{code.co_consts}&amp;quot;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;常量:&amp;nbsp;(None,&amp;nbsp;2)print(f&amp;quot;co_code:&amp;nbsp;{code.co_code}&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;b&amp;#39;|\x00|\x01\x17\x00}\x02|\x02d\x01\x14\x00S\x00&amp;#39;print(f&amp;quot;co_code&amp;nbsp;hex:&amp;nbsp;{code.co_code.hex()}&amp;quot;)&amp;nbsp;#&amp;nbsp;十六进制表示&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;4.2 Frame Object：运行时执行环境&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;当函数被调用时，Python 会创建一个 &lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Frame Object（栈帧）&lt;/span&gt;，它是函数执行的&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;运行时上下文&lt;/span&gt;：&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;import&amp;nbsp;sysdef&amp;nbsp;trace_calls(frame,&amp;nbsp;event,&amp;nbsp;arg):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;追踪函数调用&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;event&amp;nbsp;==&amp;nbsp;&amp;#39;call&amp;#39;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;code&amp;nbsp;=&amp;nbsp;frame.f_code&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;[CALL]&amp;nbsp;{code.co_name}&amp;nbsp;at&amp;nbsp;{code.co_filename}:{frame.f_lineno}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;locals:&amp;nbsp;{list(frame.f_locals.keys())}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;elif&amp;nbsp;event&amp;nbsp;==&amp;nbsp;&amp;#39;return&amp;#39;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;[RETURN]&amp;nbsp;value={arg}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;trace_callsdef&amp;nbsp;factorial(n):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;n&amp;nbsp;&amp;lt;=&amp;nbsp;1:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;n&amp;nbsp;*&amp;nbsp;factorial(n&amp;nbsp;-&amp;nbsp;1)#&amp;nbsp;设置追踪函数sys.settrace(trace_calls)factorial(3)sys.settrace(None)&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;输出：&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;plain&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-plain&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;[CALL]&amp;nbsp;factorial&amp;nbsp;at&amp;nbsp;&amp;lt;stdin&amp;gt;:14
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;locals:&amp;nbsp;[&amp;#39;n&amp;#39;]
[CALL]&amp;nbsp;factorial&amp;nbsp;at&amp;nbsp;&amp;lt;stdin&amp;gt;:14
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;locals:&amp;nbsp;[&amp;#39;n&amp;#39;]
[CALL]&amp;nbsp;factorial&amp;nbsp;at&amp;nbsp;&amp;lt;stdin&amp;gt;:14
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;locals:&amp;nbsp;[&amp;#39;n&amp;#39;]
[RETURN]&amp;nbsp;value=1
[RETURN]&amp;nbsp;value=2
[RETURN]&amp;nbsp;value=6&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Frame Object 的关键属性&lt;/span&gt;：&lt;/div&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; max-width: 100%; width: max-content; position: relative; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;属性&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;说明&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;f_code&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;对应的 Code Object&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;f_locals&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;局部变量字典&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;f_globals&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;全局变量字典&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;f_builtins&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;内置函数字典&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;f_back&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;上一个栈帧（调用者）&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;f_lineno&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;当前执行行号&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;f_stack&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;运行时操作数栈&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;五、Python 的 GIL：代码执行的&amp;quot;全局锁&amp;quot;&lt;/h2&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;5.1 什么是 GIL？&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;GIL（Global Interpreter Lock，全局解释器锁）&lt;/span&gt; 是 CPython 的一个核心机制：它确保&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;同一时刻只有一个线程在执行 Python 字节码&lt;/span&gt;。&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;import&amp;nbsp;threadingimport&amp;nbsp;timedef&amp;nbsp;cpu_bound_task():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;纯&amp;nbsp;CPU&amp;nbsp;计算任务&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;count&amp;nbsp;=&amp;nbsp;0
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;i&amp;nbsp;in&amp;nbsp;range(50_000_000):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;count&amp;nbsp;+=&amp;nbsp;i&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;count#&amp;nbsp;单线程执行start&amp;nbsp;=&amp;nbsp;time.time()cpu_bound_task()cpu_bound_task()print(f&amp;quot;单线程耗时:&amp;nbsp;{time.time()&amp;nbsp;-&amp;nbsp;start:.2f}s&amp;quot;)#&amp;nbsp;多线程执行（受&amp;nbsp;GIL&amp;nbsp;限制，不会更快！）start&amp;nbsp;=&amp;nbsp;time.time()t1&amp;nbsp;=&amp;nbsp;threading.Thread(target=cpu_bound_task)t2&amp;nbsp;=&amp;nbsp;threading.Thread(target=cpu_bound_task)t1.start();&amp;nbsp;t2.start()t1.join();&amp;nbsp;t2.join()print(f&amp;quot;多线程耗时:&amp;nbsp;{time.time()&amp;nbsp;-&amp;nbsp;start:.2f}s&amp;quot;)&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;典型结果&lt;/span&gt;：&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;plain&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-plain&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;单线程耗时:&amp;nbsp;3.50s
多线程耗时:&amp;nbsp;3.80s&amp;nbsp;&amp;nbsp;←&amp;nbsp;更慢！因为线程切换有开销&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;5.2 为什么需要 GIL？&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;GIL 的存在是为了&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;简化 CPython 的内存管理&lt;/span&gt;：&lt;/div&gt;&lt;ol start=&quot;1&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; list-style-position: initial; list-style-image: initial; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;引用计数&lt;/span&gt;：Python 使用引用计数管理内存，多线程同时修改引用计数会导致数据竞争&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;C 扩展兼容性&lt;/span&gt;：大量 C 扩展库（如 NumPy）不是线程安全的，GIL 保护了它们&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;5.3 绕过 GIL 的方案&lt;/h3&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; max-width: 100%; width: max-content; position: relative; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;方案&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;原理&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;适用场景&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;多进程&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;每个进程独立 GIL&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;CPU 密集型任务&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;C 扩展释放 GIL&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;C 代码执行时释放 GIL&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;调用 NumPy、IO 操作&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;nogil&lt;/code&gt; 分支&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;无 GIL 的 Python 实验版本&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;未来可能的方向&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;其他实现&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;Jython（JVM）、IronPython（.NET）无 GIL&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;特定生态&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;#&amp;nbsp;多进程绕过&amp;nbsp;GILfrom&amp;nbsp;multiprocessing&amp;nbsp;import&amp;nbsp;Poolimport&amp;nbsp;timedef&amp;nbsp;cpu_bound(n):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;sum(range(n))if&amp;nbsp;__name__&amp;nbsp;==&amp;nbsp;&amp;#39;__main__&amp;#39;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;start&amp;nbsp;=&amp;nbsp;time.time()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;with&amp;nbsp;Pool(4)&amp;nbsp;as&amp;nbsp;p:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p.map(cpu_bound,&amp;nbsp;[50_000_000]&amp;nbsp;*&amp;nbsp;4)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;多进程耗时:&amp;nbsp;{time.time()&amp;nbsp;-&amp;nbsp;start:.2f}s&amp;quot;)&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;六、Python 代码的执行模型：一切皆对象&lt;/h2&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;6.1 对象模型&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;Python 代码中的一切——数字、字符串、函数、类、模块——都是 &lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;PyObject&lt;/span&gt; 结构体的实例：&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;c&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-c&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;//&amp;nbsp;Include/object.htypedef&amp;nbsp;struct&amp;nbsp;_object&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_PyObject_HEAD_EXTRA&amp;nbsp;&amp;nbsp;//&amp;nbsp;双向链表指针（用于垃圾回收）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Py_ssize_t&amp;nbsp;ob_refcnt;&amp;nbsp;//&amp;nbsp;引用计数
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PyTypeObject&amp;nbsp;*ob_type;&amp;nbsp;//&amp;nbsp;类型指针}&amp;nbsp;PyObject;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;关键洞察&lt;/span&gt;：Python 代码的执行，本质上是 &lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;PyObject 之间的消息传递&lt;/span&gt;。&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;6.2 函数调用的本质&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;当你写下 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;len(&amp;quot;hello&amp;quot;)&lt;/code&gt;，Python 内部发生了什么？&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;s&amp;nbsp;=&amp;nbsp;&amp;quot;hello&amp;quot;#&amp;nbsp;以下三种写法在底层等价：len(s)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;直接调用内置函数s.__len__()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;调用对象的特殊方法type(s).__len__(s)&amp;nbsp;&amp;nbsp;#&amp;nbsp;通过类型对象调用#&amp;nbsp;验证print(len(s))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;5print(s.__len__())&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;5print(str.__len__(s))&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;5&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;执行流程&lt;/span&gt;：&lt;/div&gt;&lt;ol start=&quot;1&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; list-style-position: initial; list-style-image: initial; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;解析 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;len(s)&lt;/code&gt;，识别为函数调用&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;在栈上创建参数：&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;s&lt;/code&gt;（字符串对象）&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;查找 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;len&lt;/code&gt; 内置函数（实际是 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;PyBuiltinFunctionObject&lt;/code&gt;）&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;调用 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;len&lt;/code&gt; 的 C 实现：&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;PyObject_Size(s)&lt;/code&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;PyObject_Size&lt;/code&gt; 查找 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;s&lt;/code&gt; 的类型表，找到 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;str.__len__&lt;/code&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;执行 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;str.__len__&lt;/code&gt;，返回整数 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;5&lt;/code&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;七、Python 代码的内存管理&lt;/h2&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;7.1 引用计数 + 垃圾回收&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;Python 代码创建的对象通过&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;引用计数&lt;/span&gt;管理生命周期：&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;import&amp;nbsp;sys

a&amp;nbsp;=&amp;nbsp;[1,&amp;nbsp;2,&amp;nbsp;3]print(sys.getrefcount(a))&amp;nbsp;&amp;nbsp;#&amp;nbsp;2（a&amp;nbsp;引用&amp;nbsp;+&amp;nbsp;getrefcount&amp;nbsp;参数引用）b&amp;nbsp;=&amp;nbsp;aprint(sys.getrefcount(a))&amp;nbsp;&amp;nbsp;#&amp;nbsp;3del&amp;nbsp;bprint(sys.getrefcount(a))&amp;nbsp;&amp;nbsp;#&amp;nbsp;2#&amp;nbsp;循环引用问题a&amp;nbsp;=&amp;nbsp;[]b&amp;nbsp;=&amp;nbsp;[]a.append(b)&amp;nbsp;&amp;nbsp;#&amp;nbsp;b&amp;nbsp;的引用计数&amp;nbsp;+1b.append(a)&amp;nbsp;&amp;nbsp;#&amp;nbsp;a&amp;nbsp;的引用计数&amp;nbsp;+1del&amp;nbsp;adel&amp;nbsp;b#&amp;nbsp;此时&amp;nbsp;a&amp;nbsp;和&amp;nbsp;b&amp;nbsp;的引用计数各为&amp;nbsp;1，但已无法访问&amp;nbsp;→&amp;nbsp;内存泄漏！#&amp;nbsp;Python&amp;nbsp;使用分代垃圾回收（GC）解决循环引用import&amp;nbsp;gc
gc.collect()&amp;nbsp;&amp;nbsp;#&amp;nbsp;强制触发垃圾回收&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;7.2 内存池机制&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;Python 对小对象（&amp;lt; 512 字节）使用&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;内存池（pymalloc）&lt;/span&gt;，避免频繁的系统调用：&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;import&amp;nbsp;tracemalloc

tracemalloc.start()#&amp;nbsp;分配大量小对象data&amp;nbsp;=&amp;nbsp;[i&amp;nbsp;for&amp;nbsp;i&amp;nbsp;in&amp;nbsp;range(100000)]snapshot&amp;nbsp;=&amp;nbsp;tracemalloc.take_snapshot()top_stats&amp;nbsp;=&amp;nbsp;snapshot.statistics(&amp;#39;lineno&amp;#39;)print(&amp;quot;[内存分配&amp;nbsp;Top&amp;nbsp;5]&amp;quot;)for&amp;nbsp;stat&amp;nbsp;in&amp;nbsp;top_stats[:5]:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;{stat.size&amp;nbsp;/&amp;nbsp;1024:.1f}&amp;nbsp;KiB:&amp;nbsp;{stat.traceback.format()[-1]}&amp;quot;)&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;八、总结：Python 代码是什么？&lt;/h2&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; max-width: 100%; width: max-content; position: relative; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;层级&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;Python 代码的表现形式&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;本质&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;最上层&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;.py&lt;/code&gt; 源文件&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;人类可读的文本，遵循 Python 语法&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;编译层&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;AST + Code Object&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;语法树和字节码，平台无关的中间表示&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;执行层&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;.pyc&lt;/code&gt; 字节码文件&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;缓存的字节码，加速模块加载&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;虚拟机&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;PVM 指令执行&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;基于栈的虚拟机，操作 PyObject&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;最底层&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;C 函数 + 机器码&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;CPython 解释器将字节码翻译为机器指令&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Python 代码的核心特征&lt;/span&gt;：&lt;/div&gt;&lt;ol start=&quot;1&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; list-style-position: initial; list-style-image: initial; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;它是解释执行的&lt;/span&gt;——没有独立的编译步骤，源码直接运行&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;但它又是有编译的&lt;/span&gt;——自动编译为字节码，只是对用户透明&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;它是动态类型的&lt;/span&gt;——变量类型在运行时确定，存储在对象头部&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;它是单线程执行的&lt;/span&gt;——GIL 保证了解释器状态的一致性&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;它是面向对象的&lt;/span&gt;——一切皆对象，所有操作都是对象间消息传递&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;理解 Python 代码的本质，不仅能帮助你写出更高效的代码，还能让你在遇到性能瓶颈、内存泄漏、并发问题时，知道该从哪个层面入手解决。Python 的简洁是设计上的优雅，而非实现上的简单——这正是它成为世界上最流行编程语言之一的原因。&lt;/div&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Fri, 22 May 2026 18:02:08 +0800</pubDate></item><item><title>淘宝指定店铺商品销量与价格数据监控实战指南</title><link>https://jelenaapi.com/?id=115</link><description>&lt;div data-v-cc94a637=&quot;&quot; class=&quot;chat-content-container&quot; style=&quot;font: inherit; text-wrap-mode: wrap; scrollbar-color: rgba(0, 0, 0, 0.25) rgba(0, 0, 0, 0); margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; box-sizing: border-box; width: 1758.45px; flex: 1 1 0%;&quot;&gt;&lt;div data-v-cc94a637=&quot;&quot; class=&quot;chat-content-list&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px auto auto; padding: 16px 16px 30px 4px; border: 0px; vertical-align: baseline; width: 800px; display: flex; flex-direction: column; box-sizing: border-box; max-width: 800px;&quot;&gt;&lt;div data-v-cc94a637=&quot;&quot; class=&quot;chat-content-item chat-content-item-assistant&quot; data-archer-id=&quot;19e4a056-ae52-886a-8000-0a4b7aa0c598&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 30px 0px 0px; padding: 0px; border: 0px; vertical-align: baseline; position: relative; display: flex; gap: 8px; width: 780.017px;&quot;&gt;&lt;div data-v-7811be09=&quot;&quot; data-v-cc94a637=&quot;&quot; class=&quot;segment segment-assistant&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; --loading: url(//statics.moonshot.cn/kimi-web-seo/assets/light.apng-DBjFoeWh.png); width: 780.017px; box-sizing: border-box; display: flex;&quot;&gt;&lt;div data-v-7811be09=&quot;&quot; class=&quot;segment-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 12px 0px 12px 16px; border: 0px; vertical-align: baseline; flex: 1 1 0%; position: relative; max-width: 100%; display: flex; min-width: 0px; align-items: flex-start; flex-direction: column;&quot;&gt;&lt;div data-v-7811be09=&quot;&quot; class=&quot;segment-content&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; display: flex; border-radius: 12px; flex-flow: column; box-sizing: border-box; width: 720.035px; position: relative; letter-spacing: 0px;&quot;&gt;&lt;div data-v-7811be09=&quot;&quot; class=&quot;segment-content-box&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;&quot;&gt;&lt;div data-v-b3358103=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;markdown-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;&quot;&gt;&lt;div data-v-b3358103=&quot;&quot; class=&quot;markdown&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant: inherit; font-stretch: inherit; font-size: 14px; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; max-width: 100%; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; position: relative;&quot;&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;在电商数据分析、竞品监控、选品决策等场景中，实时追踪指定淘宝/天猫店铺的商品销量和价格变动是核心需求。本文将深入讲解&lt;span class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;合规且稳定&lt;/span&gt;的监控方案，涵盖官方 API 接入、第三方数据服务调用、以及完整的 Java 工程实现。&lt;/div&gt;&lt;hr style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;一、监控需求分析与技术选型&lt;/h2&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;1.1 核心监控指标&lt;/h3&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; vertical-align: baseline; max-width: 100%; width: max-content; position: relative;&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; class=&quot;firstRow&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;指标&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;说明&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;监控频率&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;商品价格&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;原价、促销价、券后价、会员价&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;每 30 分钟 ~ 2 小时&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;销量数据&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;月销量、总销量、评价数&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;每 2 ~ 6 小时&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;库存状态&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;有货/缺货、SKU 库存&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;每小时&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;促销信息&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;优惠券、满减活动、限时折扣&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;每 30 分钟&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;商品上下架&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;新增商品、下架商品&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;每 6 ~ 12 小时&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;1.2 技术方案对比&lt;/h3&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; vertical-align: baseline; max-width: 100%; width: max-content; position: relative;&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; class=&quot;firstRow&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;方案&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;数据源&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;稳定性&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;合规性&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;适用场景&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;淘宝开放平台官方 API&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;官方数据&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★★★★&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★★★★&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;自有店铺管理&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;淘宝联盟 API（淘客）&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;联盟商品库&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★★★☆&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★★★★&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;淘客推广、选品监控&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;第三方数据服务&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;聚合数据&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★★☆☆&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★★☆☆&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;竞品分析、快速原型&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;网页爬虫&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;前端渲染数据&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★☆☆☆&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★☆☆☆☆&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;不推荐，反爬严格&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;建议&lt;/span&gt;：优先使用官方 API，辅以第三方服务补充公开数据。&lt;/div&gt;&lt;hr style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;二、方案一：淘宝开放平台官方 API（推荐用于自有店铺）&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;淘宝开放平台（TOP）提供了完整的商品管理接口，适合监控&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;自有店铺&lt;/span&gt;数据。&lt;/div&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;2.1 前置准备&lt;/h3&gt;&lt;ol start=&quot;1&quot; class=&quot; list-paddingleft-2&quot; style=&quot;margin-bottom: 16px; width: 684.028px; padding: 0px 0px 0px 26px; font: inherit; scrollbar-color: transparent transparent; border: 0px; vertical-align: baseline; list-style-position: initial; list-style-image: initial;&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;注册 &lt;a data-v-b3358103=&quot;&quot; target=&quot;_blank&quot; href=&quot;https://open.taobao.com/&quot; rel=&quot;noreferrer nofollow noopener&quot; class=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; text-decoration-line: none; cursor: pointer; color: rgb(23, 131, 255);&quot;&gt;淘宝开放平台&lt;/a&gt; 开发者账号&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;创建应用，获取 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;AppKey&lt;/code&gt; 和 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;AppSecret&lt;/code&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;申请 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;taobao.items.onsale.get&lt;/code&gt; 等接口权限&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;店铺主账号授权，获取 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;SessionKey&lt;/code&gt;（Access Token）&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;2.2 核心监控接口&lt;/h3&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; vertical-align: baseline; max-width: 100%; width: max-content; position: relative;&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; class=&quot;firstRow&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;接口&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;功能&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;权限要求&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;taobao.items.onsale.get&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;获取店铺出售中的商品列表&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;店铺授权&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;taobao.item.get&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;获取单个商品详细信息&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;店铺授权&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;taobao.item.sku.get&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;获取 SKU 级别价格和库存&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;店铺授权&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;taobao.trades.sold.get&lt;/code&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;获取订单销量数据&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;店铺授权&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;2.3 Java SDK 接入实现&lt;/h3&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;java&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-java&quot; style=&quot;padding: 16px; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255); font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto;&quot;&gt;import&amp;nbsp;com.taobao.api.ApiException;import&amp;nbsp;com.taobao.api.DefaultTaobaoClient;import&amp;nbsp;com.taobao.api.TaobaoClient;import&amp;nbsp;com.taobao.api.request.ItemsOnsaleGetRequest;import&amp;nbsp;com.taobao.api.request.ItemGetRequest;import&amp;nbsp;com.taobao.api.response.ItemsOnsaleGetResponse;import&amp;nbsp;com.taobao.api.response.ItemGetResponse;import&amp;nbsp;com.taobao.api.domain.Item;import&amp;nbsp;java.util.List;import&amp;nbsp;java.util.stream.Collectors;/**
&amp;nbsp;*&amp;nbsp;淘宝官方&amp;nbsp;API&amp;nbsp;店铺商品监控客户端
&amp;nbsp;*&amp;nbsp;适用于监控自有店铺数据
&amp;nbsp;*/public&amp;nbsp;class&amp;nbsp;TaobaoOfficialMonitor&amp;nbsp;{

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;生产环境网关地址
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;final&amp;nbsp;String&amp;nbsp;SERVER_URL&amp;nbsp;=&amp;nbsp;&amp;quot;https://gw.api.taobao.com/router/rest&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;final&amp;nbsp;String&amp;nbsp;appKey;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;final&amp;nbsp;String&amp;nbsp;appSecret;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;final&amp;nbsp;TaobaoClient&amp;nbsp;client;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;TaobaoOfficialMonitor(String&amp;nbsp;appKey,&amp;nbsp;String&amp;nbsp;appSecret)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.appKey&amp;nbsp;=&amp;nbsp;appKey;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.appSecret&amp;nbsp;=&amp;nbsp;appSecret;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.client&amp;nbsp;=&amp;nbsp;new&amp;nbsp;DefaultTaobaoClient(SERVER_URL,&amp;nbsp;appKey,&amp;nbsp;appSecret);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;获取店铺出售中商品列表
&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;sessionKey&amp;nbsp;店铺授权令牌
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;pageNo&amp;nbsp;页码
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;pageSize&amp;nbsp;每页数量（最大&amp;nbsp;200）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@return&amp;nbsp;商品列表
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;List&amp;lt;Item&amp;gt;&amp;nbsp;getOnsaleItems(String&amp;nbsp;sessionKey,&amp;nbsp;int&amp;nbsp;pageNo,&amp;nbsp;int&amp;nbsp;pageSize)&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;throws&amp;nbsp;ApiException&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ItemsOnsaleGetRequest&amp;nbsp;req&amp;nbsp;=&amp;nbsp;new&amp;nbsp;ItemsOnsaleGetRequest();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;req.setFields(&amp;quot;num_iid,title,price,pic_url,num,list_time,delist_time,has_discount&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;req.setPageNo((long)&amp;nbsp;pageNo);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;req.setPageSize((long)&amp;nbsp;pageSize);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;可选：按类目过滤&amp;nbsp;req.setCid(50000671L);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ItemsOnsaleGetResponse&amp;nbsp;rsp&amp;nbsp;=&amp;nbsp;client.execute(req,&amp;nbsp;sessionKey);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;(!rsp.isSuccess())&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;throw&amp;nbsp;new&amp;nbsp;ApiException(rsp.getSubCode(),&amp;nbsp;rsp.getSubMsg());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;rsp.getItems();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;获取单个商品详细信息（含销量、SKU价格等）
&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;sessionKey&amp;nbsp;店铺授权令牌
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;numIid&amp;nbsp;商品数字ID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@return&amp;nbsp;商品详情
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;Item&amp;nbsp;getItemDetail(String&amp;nbsp;sessionKey,&amp;nbsp;long&amp;nbsp;numIid)&amp;nbsp;throws&amp;nbsp;ApiException&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ItemGetRequest&amp;nbsp;req&amp;nbsp;=&amp;nbsp;new&amp;nbsp;ItemGetRequest();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;关键字段：price(售价),&amp;nbsp;num(库存),&amp;nbsp;sold_quantity(销量),&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;sku(规格价格),&amp;nbsp;item_imgs(图片),&amp;nbsp;desc(描述)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;req.setFields(&amp;quot;num_iid,title,price,num,sold_quantity,sku,item_imgs,&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;quot;list_time,delist_time,stuff_status,has_discount,&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;quot;postage_id,express_fee,ems_fee&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;req.setNumIid(numIid);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ItemGetResponse&amp;nbsp;rsp&amp;nbsp;=&amp;nbsp;client.execute(req,&amp;nbsp;sessionKey);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;(!rsp.isSuccess())&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;throw&amp;nbsp;new&amp;nbsp;ApiException(rsp.getSubCode(),&amp;nbsp;rsp.getSubMsg());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;rsp.getItem();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;全量扫描店铺商品并提取监控数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;List&amp;lt;ProductSnapshot&amp;gt;&amp;nbsp;scanStoreProducts(String&amp;nbsp;sessionKey)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&amp;lt;ProductSnapshot&amp;gt;&amp;nbsp;snapshots&amp;nbsp;=&amp;nbsp;new&amp;nbsp;ArrayList&amp;lt;&amp;gt;();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;page&amp;nbsp;=&amp;nbsp;1;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;pageSize&amp;nbsp;=&amp;nbsp;100;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;boolean&amp;nbsp;hasMore&amp;nbsp;=&amp;nbsp;true;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while&amp;nbsp;(hasMore)&amp;nbsp;{
&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;List&amp;lt;Item&amp;gt;&amp;nbsp;items&amp;nbsp;=&amp;nbsp;getOnsaleItems(sessionKey,&amp;nbsp;page,&amp;nbsp;pageSize);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;(Item&amp;nbsp;item&amp;nbsp;:&amp;nbsp;items)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;获取详细数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Item&amp;nbsp;detail&amp;nbsp;=&amp;nbsp;getItemDetail(sessionKey,&amp;nbsp;item.getNumIid());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ProductSnapshot&amp;nbsp;snapshot&amp;nbsp;=&amp;nbsp;new&amp;nbsp;ProductSnapshot();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;snapshot.setItemId(detail.getNumIid());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;snapshot.setTitle(detail.getTitle());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;snapshot.setPrice(Double.parseDouble(detail.getPrice()));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;snapshot.setStock(detail.getNum());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;snapshot.setSoldQuantity(detail.getSoldQuantity());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;snapshot.setListTime(detail.getListTime());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;snapshot.setHasDiscount(detail.getHasDiscount());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;解析&amp;nbsp;SKU&amp;nbsp;级别价格
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;(detail.getSkus()&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&amp;lt;&amp;lt;SkuInfo&amp;gt;&amp;nbsp;skus&amp;nbsp;=&amp;nbsp;detail.getSkus().stream()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.map(sku&amp;nbsp;-&amp;gt;&amp;nbsp;new&amp;nbsp;SkuInfo(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sku.getSkuId(),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sku.getPropertiesName(),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Double.parseDouble(sku.getPrice()),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sku.getQuantity()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.collect(Collectors.toList());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;snapshot.setSkus(skus);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;snapshots.add(snapshot);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hasMore&amp;nbsp;=&amp;nbsp;items.size()&amp;nbsp;==&amp;nbsp;pageSize;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;page++;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;官方限流：建议间隔&amp;nbsp;100ms&amp;nbsp;以上
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Thread.sleep(100);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&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;(ApiException&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;if&amp;nbsp;(&amp;quot;isv.item-get-service-error&amp;quot;.equals(e.getSubCode()))&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.err.println(&amp;quot;商品已下架或无权访问:&amp;nbsp;&amp;quot;&amp;nbsp;+&amp;nbsp;e.getSubCode());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;handleApiError(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;break;
&amp;nbsp;&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;(InterruptedException&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;Thread.currentThread().interrupt();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;snapshots;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;void&amp;nbsp;handleApiError(ApiException&amp;nbsp;e)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;subCode&amp;nbsp;=&amp;nbsp;e.getSubCode();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(subCode&amp;nbsp;!=&amp;nbsp;null&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;subCode.contains(&amp;quot;limit&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;System.err.println(&amp;quot;触发限流，请降低请求频率&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;else&amp;nbsp;if&amp;nbsp;(subCode&amp;nbsp;!=&amp;nbsp;null&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;subCode.contains(&amp;quot;session&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;System.err.println(&amp;quot;授权失效，请重新获取&amp;nbsp;SessionKey&amp;quot;);
&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;System.err.println(&amp;quot;API&amp;nbsp;错误:&amp;nbsp;&amp;quot;&amp;nbsp;+&amp;nbsp;e.getMessage());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;====================&amp;nbsp;数据模型&amp;nbsp;====================

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;class&amp;nbsp;ProductSnapshot&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;long&amp;nbsp;itemId;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;String&amp;nbsp;title;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;double&amp;nbsp;price;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;long&amp;nbsp;stock;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;long&amp;nbsp;soldQuantity;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;String&amp;nbsp;listTime;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;boolean&amp;nbsp;hasDiscount;&amp;nbsp;&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;List&amp;lt;&amp;lt;SkuInfo&amp;gt;&amp;nbsp;skus;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;SKU&amp;nbsp;规格信息
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;LocalDateTime&amp;nbsp;captureTime&amp;nbsp;=&amp;nbsp;LocalDateTime.now();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@AllArgsConstructor
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;class&amp;nbsp;SkuInfo&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;long&amp;nbsp;skuId;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;String&amp;nbsp;properties;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;规格属性（如&amp;quot;颜色:红色;尺码:M&amp;quot;）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;double&amp;nbsp;price;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;SKU&amp;nbsp;价格
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;long&amp;nbsp;quantity;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;SKU&amp;nbsp;库存
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;&quot;&gt;&lt;/div&gt;&lt;h3 style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;2.4 定时监控调度&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;使用 Spring Scheduler 实现自动化监控：&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;java&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-java&quot; style=&quot;padding: 16px; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255); font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto;&quot;&gt;import&amp;nbsp;org.springframework.scheduling.annotation.Scheduled;import&amp;nbsp;org.springframework.stereotype.Component;import&amp;nbsp;java.util.Map;import&amp;nbsp;java.util.concurrent.ConcurrentHashMap;@Componentpublic&amp;nbsp;class&amp;nbsp;StoreMonitorScheduler&amp;nbsp;{

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;final&amp;nbsp;TaobaoOfficialMonitor&amp;nbsp;monitor;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;final&amp;nbsp;ProductDataRepository&amp;nbsp;repository;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;final&amp;nbsp;AlertService&amp;nbsp;alertService;
&amp;nbsp;&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;final&amp;nbsp;Map&amp;lt;Long,&amp;nbsp;ProductSnapshot&amp;gt;&amp;nbsp;lastSnapshot&amp;nbsp;=&amp;nbsp;new&amp;nbsp;ConcurrentHashMap&amp;lt;&amp;gt;();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;StoreMonitorScheduler(TaobaoOfficialMonitor&amp;nbsp;monitor,&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ProductDataRepository&amp;nbsp;repository,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AlertService&amp;nbsp;alertService)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.monitor&amp;nbsp;=&amp;nbsp;monitor;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.repository&amp;nbsp;=&amp;nbsp;repository;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.alertService&amp;nbsp;=&amp;nbsp;alertService;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&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;@Scheduled(fixedRate&amp;nbsp;=&amp;nbsp;30&amp;nbsp;*&amp;nbsp;60&amp;nbsp;*&amp;nbsp;1000)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;void&amp;nbsp;monitorPriceChanges()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;sessionKey&amp;nbsp;=&amp;nbsp;getValidSessionKey();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&amp;lt;ProductSnapshot&amp;gt;&amp;nbsp;current&amp;nbsp;=&amp;nbsp;monitor.scanStoreProducts(sessionKey);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;(ProductSnapshot&amp;nbsp;product&amp;nbsp;:&amp;nbsp;current)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ProductSnapshot&amp;nbsp;previous&amp;nbsp;=&amp;nbsp;lastSnapshot.get(product.getItemId());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&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;(previous&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;//&amp;nbsp;检测价格变动
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;(Math.abs(product.getPrice()&amp;nbsp;-&amp;nbsp;previous.getPrice())&amp;nbsp;&amp;gt;&amp;nbsp;0.01)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PriceChangeEvent&amp;nbsp;event&amp;nbsp;=&amp;nbsp;new&amp;nbsp;PriceChangeEvent(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;product.getItemId(),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;product.getTitle(),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;previous.getPrice(),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;product.getPrice(),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;product.getCaptureTime()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alertService.sendPriceAlert(event);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;检测库存变化（补货/缺货）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;(previous.getStock()&amp;nbsp;==&amp;nbsp;0&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;product.getStock()&amp;nbsp;&amp;gt;&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;&amp;nbsp;alertService.sendRestockAlert(product.getItemId(),&amp;nbsp;product.getTitle());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;(previous.getStock()&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;product.getStock()&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alertService.sendOutOfStockAlert(product.getItemId(),&amp;nbsp;product.getTitle());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;更新缓存并持久化
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastSnapshot.put(product.getItemId(),&amp;nbsp;product);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;repository.save(product);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;每&amp;nbsp;6&amp;nbsp;小时深度扫描销量数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Scheduled(cron&amp;nbsp;=&amp;nbsp;&amp;quot;0&amp;nbsp;0&amp;nbsp;*/6&amp;nbsp;*&amp;nbsp;*&amp;nbsp;?&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;void&amp;nbsp;monitorSalesTrend()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;String&amp;nbsp;getValidSessionKey()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;quot;your_session_key&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;&quot;&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;三、方案二：淘宝联盟 API（淘客场景）&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;如果你需要监控&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;非自有店铺&lt;/span&gt;的公开商品（如竞品监控），可通过淘宝联盟 API 获取带佣金的商品数据。&lt;/div&gt;&lt;h3 style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;3.1 接入流程&lt;/h3&gt;&lt;ol start=&quot;1&quot; class=&quot; list-paddingleft-2&quot; style=&quot;margin-bottom: 16px; width: 684.028px; padding: 0px 0px 0px 26px; font: inherit; scrollbar-color: transparent transparent; border: 0px; vertical-align: baseline; list-style-position: initial; list-style-image: initial;&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;注册 &lt;a data-v-b3358103=&quot;&quot; target=&quot;_blank&quot; href=&quot;https://pub.alimama.com/&quot; rel=&quot;noreferrer nofollow noopener&quot; class=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; text-decoration-line: none; cursor: pointer; color: rgb(23, 131, 255);&quot;&gt;淘宝联盟&lt;/a&gt; 账号&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;申请 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;物料搜索&lt;/code&gt; 和 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;商品详情&lt;/code&gt; 权限&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;获取 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;AdzoneId&lt;/code&gt; 和 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;SiteId&lt;/code&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3 style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;3.2 淘客商品监控实现&lt;/h3&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;java&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-java&quot; style=&quot;padding: 16px; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255); font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto;&quot;&gt;import&amp;nbsp;com.taobao.api.TaobaoClient;import&amp;nbsp;com.taobao.api.DefaultTaobaoClient;import&amp;nbsp;com.taobao.api.request.TbkItemInfoGetRequest;import&amp;nbsp;com.taobao.api.request.TbkItemGetRequest;import&amp;nbsp;com.taobao.api.response.TbkItemInfoGetResponse;import&amp;nbsp;com.taobao.api.response.TbkItemGetResponse;/**
&amp;nbsp;*&amp;nbsp;淘宝联盟商品监控（适合公开商品/竞品监控）
&amp;nbsp;*/public&amp;nbsp;class&amp;nbsp;TaobaoUnionMonitor&amp;nbsp;{

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;final&amp;nbsp;String&amp;nbsp;SERVER_URL&amp;nbsp;=&amp;nbsp;&amp;quot;https://gw.api.taobao.com/router/rest&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;final&amp;nbsp;String&amp;nbsp;appKey;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;final&amp;nbsp;String&amp;nbsp;appSecret;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;final&amp;nbsp;TaobaoClient&amp;nbsp;client;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;TaobaoUnionMonitor(String&amp;nbsp;appKey,&amp;nbsp;String&amp;nbsp;appSecret)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.appKey&amp;nbsp;=&amp;nbsp;appKey;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.appSecret&amp;nbsp;=&amp;nbsp;appSecret;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.client&amp;nbsp;=&amp;nbsp;new&amp;nbsp;DefaultTaobaoClient(SERVER_URL,&amp;nbsp;appKey,&amp;nbsp;appSecret);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;通过商品&amp;nbsp;ID&amp;nbsp;获取详细信息（含销量、价格、佣金）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;TbkItemInfoGetResponse.NTbkItem&amp;nbsp;getItemInfo(long&amp;nbsp;numIid)&amp;nbsp;throws&amp;nbsp;Exception&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TbkItemInfoGetRequest&amp;nbsp;req&amp;nbsp;=&amp;nbsp;new&amp;nbsp;TbkItemInfoGetRequest();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;req.setNumIids(String.valueOf(numIid));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;返回字段：title(标题),&amp;nbsp;pict_url(图片),&amp;nbsp;small_images(小图),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;reserve_price(原价),&amp;nbsp;zk_final_price(折扣价),&amp;nbsp;user_type(1天猫/0淘宝),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;volume(30天销量),&amp;nbsp;provcity(地区),&amp;nbsp;item_url(链接),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;coupon_info(优惠券),&amp;nbsp;commission_rate(佣金比例)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;req.setFields(&amp;quot;title,pict_url,reserve_price,zk_final_price,user_type,&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;quot;volume,provcity,item_url,coupon_info,commission_rate,&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;quot;seller_id,category,level_1_category_name&amp;quot;);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TbkItemInfoGetResponse&amp;nbsp;rsp&amp;nbsp;=&amp;nbsp;client.execute(req);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;(rsp.isSuccess()&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;rsp.getResults()&amp;nbsp;!=&amp;nbsp;null&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;!rsp.getResults().isEmpty())&amp;nbsp;{
&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;rsp.getResults().get(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;return&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;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;List&amp;lt;TbkItemGetResponse.NTbkItem&amp;gt;&amp;nbsp;searchStoreItems(String&amp;nbsp;keyword,&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;sellerNick,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;pageSize)&amp;nbsp;throws&amp;nbsp;Exception&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TbkItemGetRequest&amp;nbsp;req&amp;nbsp;=&amp;nbsp;new&amp;nbsp;TbkItemGetRequest();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;req.setQ(keyword);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;搜索关键词
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;req.setPageSize((long)&amp;nbsp;pageSize);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;req.setPageNo(1L);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;req.setSort(&amp;quot;total_sales_des&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;req.setFields(&amp;quot;num_iid,title,pict_url,reserve_price,zk_final_price,&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;quot;user_type,volume,nick,item_url,seller_id&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;TbkItemGetResponse&amp;nbsp;rsp&amp;nbsp;=&amp;nbsp;client.execute(req);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;(rsp.isSuccess()&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;rsp.getResults()&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;rsp.getResults().stream()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.filter(item&amp;nbsp;-&amp;gt;&amp;nbsp;sellerNick.equals(item.getNick()))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.collect(Collectors.toList());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;Collections.emptyList();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;&quot;&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;四、方案三：第三方数据服务（快速接入）&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;对于需要快速验证或获取公开数据的场景，可使用第三方 API 服务。&lt;/div&gt;&lt;h3 style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;4.1 基于 HTTP 的通用监控客户端&lt;/h3&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;java&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-java&quot; style=&quot;padding: 16px; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255); font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto;&quot;&gt;import&amp;nbsp;com.google.gson.Gson;import&amp;nbsp;com.google.gson.annotations.SerializedName;import&amp;nbsp;lombok.Data;import&amp;nbsp;okhttp3.HttpUrl;import&amp;nbsp;okhttp3.OkHttpClient;import&amp;nbsp;okhttp3.Request;import&amp;nbsp;okhttp3.Response;import&amp;nbsp;java.io.IOException;import&amp;nbsp;java.time.LocalDateTime;import&amp;nbsp;java.util.List;import&amp;nbsp;java.util.concurrent.TimeUnit;/**
&amp;nbsp;*&amp;nbsp;通用商品监控客户端（适配第三方数据服务）
&amp;nbsp;*&amp;nbsp;支持：JustOneAPI、万邦、其他&amp;nbsp;HTTP&amp;nbsp;API
&amp;nbsp;*/public&amp;nbsp;class&amp;nbsp;ProductMonitorClient&amp;nbsp;{

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;final&amp;nbsp;OkHttpClient&amp;nbsp;httpClient;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;final&amp;nbsp;Gson&amp;nbsp;gson;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;final&amp;nbsp;String&amp;nbsp;baseUrl;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;final&amp;nbsp;String&amp;nbsp;apiKey;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;ProductMonitorClient(String&amp;nbsp;baseUrl,&amp;nbsp;String&amp;nbsp;apiKey)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.baseUrl&amp;nbsp;=&amp;nbsp;baseUrl;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.apiKey&amp;nbsp;=&amp;nbsp;apiKey;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.httpClient&amp;nbsp;=&amp;nbsp;new&amp;nbsp;OkHttpClient.Builder()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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(15,&amp;nbsp;TimeUnit.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;&amp;nbsp;.readTimeout(30,&amp;nbsp;TimeUnit.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;&amp;nbsp;.build();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.gson&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Gson();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;获取单个商品详情（含实时销量、价格）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;ProductDetail&amp;nbsp;getItemDetail(long&amp;nbsp;itemId)&amp;nbsp;throws&amp;nbsp;IOException&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HttpUrl&amp;nbsp;url&amp;nbsp;=&amp;nbsp;HttpUrl.parse(baseUrl&amp;nbsp;+&amp;nbsp;&amp;quot;/api/item/detail&amp;quot;).newBuilder()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.addQueryParameter(&amp;quot;token&amp;quot;,&amp;nbsp;apiKey)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.addQueryParameter(&amp;quot;itemId&amp;quot;,&amp;nbsp;String.valueOf(itemId))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;Request&amp;nbsp;request&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Request.Builder().url(url).get().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;try&amp;nbsp;(Response&amp;nbsp;response&amp;nbsp;=&amp;nbsp;httpClient.newCall(request).execute())&amp;nbsp;{
&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;throw&amp;nbsp;new&amp;nbsp;IOException(&amp;quot;HTTP&amp;nbsp;&amp;quot;&amp;nbsp;+&amp;nbsp;response.code());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;json&amp;nbsp;=&amp;nbsp;response.body().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;ApiResponse&amp;lt;ProductDetail&amp;gt;&amp;nbsp;apiResp&amp;nbsp;=&amp;nbsp;gson.fromJson(json,&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;new&amp;nbsp;TypeToken&amp;lt;&amp;lt;ApiResponse&amp;lt;ProductDetail&amp;gt;&amp;gt;(){}.getType());
&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;apiResp.getData();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;搜索指定店铺的商品列表
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;List&amp;lt;ProductBrief&amp;gt;&amp;nbsp;searchStoreItems(String&amp;nbsp;sellerNick,&amp;nbsp;int&amp;nbsp;page)&amp;nbsp;throws&amp;nbsp;IOException&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HttpUrl&amp;nbsp;url&amp;nbsp;=&amp;nbsp;HttpUrl.parse(baseUrl&amp;nbsp;+&amp;nbsp;&amp;quot;/api/item/search&amp;quot;).newBuilder()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.addQueryParameter(&amp;quot;token&amp;quot;,&amp;nbsp;apiKey)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.addQueryParameter(&amp;quot;sellerNick&amp;quot;,&amp;nbsp;sellerNick)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.addQueryParameter(&amp;quot;page&amp;quot;,&amp;nbsp;String.valueOf(page))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.addQueryParameter(&amp;quot;sort&amp;quot;,&amp;nbsp;&amp;quot;sales&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;.build();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Request&amp;nbsp;request&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Request.Builder().url(url).get().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;try&amp;nbsp;(Response&amp;nbsp;response&amp;nbsp;=&amp;nbsp;httpClient.newCall(request).execute())&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;json&amp;nbsp;=&amp;nbsp;response.body().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;ApiResponse&amp;lt;List&amp;lt;ProductBrief&amp;gt;&amp;gt;&amp;nbsp;apiResp&amp;nbsp;=&amp;nbsp;gson.fromJson(json,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;new&amp;nbsp;TypeToken&amp;lt;&amp;lt;ApiResponse&amp;lt;List&amp;lt;ProductBrief&amp;gt;&amp;gt;&amp;gt;(){}.getType());
&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;apiResp.getData();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;====================&amp;nbsp;数据模型&amp;nbsp;====================

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;class&amp;nbsp;ProductDetail&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SerializedName(&amp;quot;item_id&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;long&amp;nbsp;itemId;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;String&amp;nbsp;title;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SerializedName(&amp;quot;original_price&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;double&amp;nbsp;originalPrice;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;划线价/原价
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SerializedName(&amp;quot;promotion_price&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;double&amp;nbsp;promotionPrice;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;促销价
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SerializedName(&amp;quot;final_price&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;double&amp;nbsp;finalPrice;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;最终到手价（含券）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SerializedName(&amp;quot;month_sales&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;int&amp;nbsp;monthSales;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;月销量
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SerializedName(&amp;quot;total_sales&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;int&amp;nbsp;totalSales;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;总销量
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SerializedName(&amp;quot;stock&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;int&amp;nbsp;stock;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;库存
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SerializedName(&amp;quot;seller_nick&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;String&amp;nbsp;sellerNick;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SerializedName(&amp;quot;is_tmall&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;boolean&amp;nbsp;isTmall;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SerializedName(&amp;quot;coupon_info&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;String&amp;nbsp;couponInfo;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;优惠券信息
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SerializedName(&amp;quot;promotions&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;List&amp;lt;&amp;lt;Promotion&amp;gt;&amp;nbsp;promotions;&amp;nbsp;//&amp;nbsp;活动列表
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SerializedName(&amp;quot;skus&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;List&amp;lt;&amp;lt;SkuDetail&amp;gt;&amp;nbsp;skus;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;SKU&amp;nbsp;详情
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SerializedName(&amp;quot;update_time&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;LocalDateTime&amp;nbsp;updateTime;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;class&amp;nbsp;Promotion&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;String&amp;nbsp;type;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;String&amp;nbsp;description;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SerializedName(&amp;quot;start_time&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;LocalDateTime&amp;nbsp;startTime;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SerializedName(&amp;quot;end_time&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;LocalDateTime&amp;nbsp;endTime;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;class&amp;nbsp;SkuDetail&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SerializedName(&amp;quot;sku_id&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;long&amp;nbsp;skuId;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;String&amp;nbsp;properties;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;颜色:红色;尺码:M
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;double&amp;nbsp;price;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;int&amp;nbsp;stock;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SerializedName(&amp;quot;sales&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;int&amp;nbsp;skuSales;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;class&amp;nbsp;ProductBrief&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SerializedName(&amp;quot;item_id&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;long&amp;nbsp;itemId;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;String&amp;nbsp;title;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;double&amp;nbsp;price;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SerializedName(&amp;quot;month_sales&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;int&amp;nbsp;monthSales;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SerializedName(&amp;quot;pic_url&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;String&amp;nbsp;picUrl;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;class&amp;nbsp;ApiResponse&amp;lt;T&amp;gt;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;int&amp;nbsp;code;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;String&amp;nbsp;message;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;T&amp;nbsp;data;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;boolean&amp;nbsp;isSuccess()&amp;nbsp;{
&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;code&amp;nbsp;==&amp;nbsp;0&amp;nbsp;||&amp;nbsp;code&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;}}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;&quot;&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;五、数据存储与变化检测系统&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;监控的核心是&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;检测变化并告警&lt;/span&gt;。需要设计高效的数据存储和比对机制。&lt;/div&gt;&lt;h3 style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;5.1 数据库表设计（MySQL）&lt;/h3&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;sql&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-sql&quot; style=&quot;padding: 16px; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255); font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto;&quot;&gt;--&amp;nbsp;商品基础信息表CREATE&amp;nbsp;TABLE&amp;nbsp;tb_product&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;id&amp;nbsp;BIGINT&amp;nbsp;PRIMARY&amp;nbsp;KEY&amp;nbsp;AUTO_INCREMENT,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_id&amp;nbsp;BIGINT&amp;nbsp;NOT&amp;nbsp;NULL&amp;nbsp;COMMENT&amp;nbsp;&amp;#39;淘宝商品ID&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;seller_nick&amp;nbsp;VARCHAR(100)&amp;nbsp;NOT&amp;nbsp;NULL&amp;nbsp;COMMENT&amp;nbsp;&amp;#39;卖家昵称&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;title&amp;nbsp;VARCHAR(500)&amp;nbsp;NOT&amp;nbsp;NULL&amp;nbsp;COMMENT&amp;nbsp;&amp;#39;商品标题&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;category&amp;nbsp;VARCHAR(100)&amp;nbsp;COMMENT&amp;nbsp;&amp;#39;类目&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pic_url&amp;nbsp;VARCHAR(500),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;is_tmall&amp;nbsp;TINYINT(1)&amp;nbsp;DEFAULT&amp;nbsp;0,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;status&amp;nbsp;TINYINT(1)&amp;nbsp;DEFAULT&amp;nbsp;1&amp;nbsp;COMMENT&amp;nbsp;&amp;#39;1上架&amp;nbsp;0下架&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;created_at&amp;nbsp;TIMESTAMP&amp;nbsp;DEFAULT&amp;nbsp;CURRENT_TIMESTAMP,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;updated_at&amp;nbsp;TIMESTAMP&amp;nbsp;DEFAULT&amp;nbsp;CURRENT_TIMESTAMP&amp;nbsp;ON&amp;nbsp;UPDATE&amp;nbsp;CURRENT_TIMESTAMP,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UNIQUE&amp;nbsp;KEY&amp;nbsp;uk_item_id&amp;nbsp;(item_id))&amp;nbsp;ENGINE=InnoDB&amp;nbsp;COMMENT=&amp;#39;商品基础信息&amp;#39;;--&amp;nbsp;价格历史表（时序数据）CREATE&amp;nbsp;TABLE&amp;nbsp;tb_price_history&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;id&amp;nbsp;BIGINT&amp;nbsp;PRIMARY&amp;nbsp;KEY&amp;nbsp;AUTO_INCREMENT,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_id&amp;nbsp;BIGINT&amp;nbsp;NOT&amp;nbsp;NULL,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;original_price&amp;nbsp;DECIMAL(10,2)&amp;nbsp;COMMENT&amp;nbsp;&amp;#39;原价&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;promotion_price&amp;nbsp;DECIMAL(10,2)&amp;nbsp;COMMENT&amp;nbsp;&amp;#39;促销价&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;final_price&amp;nbsp;DECIMAL(10,2)&amp;nbsp;NOT&amp;nbsp;NULL&amp;nbsp;COMMENT&amp;nbsp;&amp;#39;到手价&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;coupon_info&amp;nbsp;VARCHAR(500)&amp;nbsp;COMMENT&amp;nbsp;&amp;#39;优惠券信息&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;captured_at&amp;nbsp;TIMESTAMP&amp;nbsp;NOT&amp;nbsp;NULL&amp;nbsp;COMMENT&amp;nbsp;&amp;#39;采集时间&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;INDEX&amp;nbsp;idx_item_time&amp;nbsp;(item_id,&amp;nbsp;captured_at))&amp;nbsp;ENGINE=InnoDB&amp;nbsp;COMMENT=&amp;#39;价格历史&amp;#39;;--&amp;nbsp;销量历史表CREATE&amp;nbsp;TABLE&amp;nbsp;tb_sales_history&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;id&amp;nbsp;BIGINT&amp;nbsp;PRIMARY&amp;nbsp;KEY&amp;nbsp;AUTO_INCREMENT,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_id&amp;nbsp;BIGINT&amp;nbsp;NOT&amp;nbsp;NULL,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;month_sales&amp;nbsp;INT&amp;nbsp;COMMENT&amp;nbsp;&amp;#39;月销量&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;total_sales&amp;nbsp;INT&amp;nbsp;COMMENT&amp;nbsp;&amp;#39;总销量&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;daily_increment&amp;nbsp;INT&amp;nbsp;COMMENT&amp;nbsp;&amp;#39;日增量&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;captured_at&amp;nbsp;TIMESTAMP&amp;nbsp;NOT&amp;nbsp;NULL,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;INDEX&amp;nbsp;idx_item_time&amp;nbsp;(item_id,&amp;nbsp;captured_at))&amp;nbsp;ENGINE=InnoDB&amp;nbsp;COMMENT=&amp;#39;销量历史&amp;#39;;--&amp;nbsp;SKU&amp;nbsp;监控表CREATE&amp;nbsp;TABLE&amp;nbsp;tb_sku_snapshot&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;id&amp;nbsp;BIGINT&amp;nbsp;PRIMARY&amp;nbsp;KEY&amp;nbsp;AUTO_INCREMENT,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_id&amp;nbsp;BIGINT&amp;nbsp;NOT&amp;nbsp;NULL,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sku_id&amp;nbsp;BIGINT&amp;nbsp;NOT&amp;nbsp;NULL,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;properties&amp;nbsp;VARCHAR(200)&amp;nbsp;COMMENT&amp;nbsp;&amp;#39;规格属性&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price&amp;nbsp;DECIMAL(10,2),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stock&amp;nbsp;INT,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;captured_at&amp;nbsp;TIMESTAMP&amp;nbsp;NOT&amp;nbsp;NULL,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UNIQUE&amp;nbsp;KEY&amp;nbsp;uk_item_sku_time&amp;nbsp;(item_id,&amp;nbsp;sku_id,&amp;nbsp;captured_at))&amp;nbsp;ENGINE=InnoDB&amp;nbsp;COMMENT=&amp;#39;SKU快照&amp;#39;;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;&quot;&gt;&lt;/div&gt;&lt;h3 style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;5.2 变化检测与告警服务&lt;/h3&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;java&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-java&quot; style=&quot;padding: 16px; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255); font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto;&quot;&gt;import&amp;nbsp;org.springframework.stereotype.Service;import&amp;nbsp;java.util.*;import&amp;nbsp;java.util.stream.Collectors;@Servicepublic&amp;nbsp;class&amp;nbsp;ChangeDetectionService&amp;nbsp;{

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;final&amp;nbsp;ProductDataRepository&amp;nbsp;repository;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;final&amp;nbsp;NotificationService&amp;nbsp;notificationService;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;ChangeDetectionService(ProductDataRepository&amp;nbsp;repository,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NotificationService&amp;nbsp;notificationService)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.repository&amp;nbsp;=&amp;nbsp;repository;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.notificationService&amp;nbsp;=&amp;nbsp;notificationService;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;检测价格变动并触发告警
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;void&amp;nbsp;detectPriceChanges(long&amp;nbsp;itemId,&amp;nbsp;ProductDetail&amp;nbsp;current)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;获取最近一次历史数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PriceHistory&amp;nbsp;lastHistory&amp;nbsp;=&amp;nbsp;repository.findLatestPrice(itemId);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;(lastHistory&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;savePriceHistory(itemId,&amp;nbsp;current);
&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&amp;lt;String&amp;gt;&amp;nbsp;changes&amp;nbsp;=&amp;nbsp;new&amp;nbsp;ArrayList&amp;lt;&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;double&amp;nbsp;priceDiff&amp;nbsp;=&amp;nbsp;current.getFinalPrice()&amp;nbsp;-&amp;nbsp;lastHistory.getFinalPrice();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(Math.abs(priceDiff)&amp;nbsp;&amp;gt;&amp;nbsp;0.01)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;double&amp;nbsp;changePercent&amp;nbsp;=&amp;nbsp;(priceDiff&amp;nbsp;/&amp;nbsp;lastHistory.getFinalPrice())&amp;nbsp;*&amp;nbsp;100;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;changes.add(String.format(&amp;quot;到手价变动:&amp;nbsp;¥%.2f&amp;nbsp;→&amp;nbsp;¥%.2f&amp;nbsp;(%+.1f%%)&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;lastHistory.getFinalPrice(),&amp;nbsp;current.getFinalPrice(),&amp;nbsp;changePercent));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;(!Objects.equals(current.getCouponInfo(),&amp;nbsp;lastHistory.getCouponInfo()))&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;changes.add(String.format(&amp;quot;优惠券变更:&amp;nbsp;%s&amp;nbsp;→&amp;nbsp;%s&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;lastHistory.getCouponInfo(),&amp;nbsp;current.getCouponInfo()));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;(lastHistory.getStock()&amp;nbsp;==&amp;nbsp;0&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;current.getStock()&amp;nbsp;&amp;gt;&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;changes.add(&amp;quot;🟢&amp;nbsp;商品补货！&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;else&amp;nbsp;if&amp;nbsp;(lastHistory.getStock()&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;current.getStock()&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;&amp;nbsp;changes.add(&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;保存新数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;savePriceHistory(itemId,&amp;nbsp;current);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;(!changes.isEmpty())&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PriceAlert&amp;nbsp;alert&amp;nbsp;=&amp;nbsp;PriceAlert.builder()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.itemId(itemId)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.title(current.getTitle())
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.changes(changes)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.currentPrice(current.getFinalPrice())
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.previousPrice(lastHistory.getFinalPrice())
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.timestamp(LocalDateTime.now())
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;notificationService.send(alert);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;检测销量异常增长（识别爆款）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;void&amp;nbsp;detectSalesAnomaly(long&amp;nbsp;itemId,&amp;nbsp;ProductDetail&amp;nbsp;current)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SalesHistory&amp;nbsp;yesterday&amp;nbsp;=&amp;nbsp;repository.findSalesAt(itemId,&amp;nbsp;LocalDateTime.now().minusDays(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;&amp;nbsp;if&amp;nbsp;(yesterday&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;int&amp;nbsp;dailyIncrement&amp;nbsp;=&amp;nbsp;current.getMonthSales()&amp;nbsp;-&amp;nbsp;yesterday.getMonthSales();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;double&amp;nbsp;growthRate&amp;nbsp;=&amp;nbsp;(double)&amp;nbsp;dailyIncrement&amp;nbsp;/&amp;nbsp;yesterday.getMonthSales();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;日销量增长超过&amp;nbsp;300%&amp;nbsp;触发告警
&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;(growthRate&amp;nbsp;&amp;gt;&amp;nbsp;3.0&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;dailyIncrement&amp;nbsp;&amp;gt;&amp;nbsp;50)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SalesAlert&amp;nbsp;alert&amp;nbsp;=&amp;nbsp;SalesAlert.builder()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.itemId(itemId)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.title(current.getTitle())
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.dailyIncrement(dailyIncrement)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.growthRate(growthRate)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.currentSales(current.getMonthSales())
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.alertType(&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;.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;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;notificationService.send(alert);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;repository.saveSalesHistory(itemId,&amp;nbsp;current.getMonthSales(),&amp;nbsp;dailyIncrement);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;检测&amp;nbsp;SKU&amp;nbsp;级别变化
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;void&amp;nbsp;detectSkuChanges(long&amp;nbsp;itemId,&amp;nbsp;List&amp;lt;&amp;lt;SkuDetail&amp;gt;&amp;nbsp;currentSkus)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&amp;lt;&amp;lt;SkuSnapshot&amp;gt;&amp;nbsp;previousSkus&amp;nbsp;=&amp;nbsp;repository.findLatestSkuSnapshot(itemId);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Map&amp;lt;Long,&amp;nbsp;SkuSnapshot&amp;gt;&amp;nbsp;previousMap&amp;nbsp;=&amp;nbsp;previousSkus.stream()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.collect(Collectors.toMap(SkuSnapshot::getSkuId,&amp;nbsp;s&amp;nbsp;-&amp;gt;&amp;nbsp;s));

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(SkuDetail&amp;nbsp;sku&amp;nbsp;:&amp;nbsp;currentSkus)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SkuSnapshot&amp;nbsp;prev&amp;nbsp;=&amp;nbsp;previousMap.get(sku.getSkuId());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&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;(prev&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;//&amp;nbsp;SKU&amp;nbsp;价格变化
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;(Math.abs(sku.getPrice()&amp;nbsp;-&amp;nbsp;prev.getPrice())&amp;nbsp;&amp;gt;&amp;nbsp;0.01)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;notificationService.sendSkuPriceAlert(itemId,&amp;nbsp;sku,&amp;nbsp;prev.getPrice());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;SKU&amp;nbsp;库存变化
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;(prev.getStock()&amp;nbsp;==&amp;nbsp;0&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;sku.getStock()&amp;nbsp;&amp;gt;&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;&amp;nbsp;notificationService.sendSkuRestockAlert(itemId,&amp;nbsp;sku);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;repository.saveSkuSnapshot(itemId,&amp;nbsp;currentSkus);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;&quot;&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;六、完整监控架构设计&lt;/h2&gt;&lt;h3 style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;6.1 系统架构图&lt;/h3&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;plain&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-plain&quot; style=&quot;padding: 16px; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255); font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto;&quot;&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;调度层（Spring&amp;nbsp;Scheduler）&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;┌──────────────┐&amp;nbsp;&amp;nbsp;┌──────────────┐&amp;nbsp;&amp;nbsp;┌──────────────┐&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;价格监控任务&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;销量监控任务&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;库存扫描任务&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;(30min)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;(6h)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;(1h)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;└──────┬───────┘&amp;nbsp;&amp;nbsp;└──────┬───────┘&amp;nbsp;&amp;nbsp;└──────┬───────┘&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
└─────────┼─────────────────┼─────────────────┼──────────────┘
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;▼&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;▼&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;▼
┌─────────────────────────────────────────────────────────────┐
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;数据采集层&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;┌──────────────┐&amp;nbsp;&amp;nbsp;┌──────────────┐&amp;nbsp;&amp;nbsp;┌──────────────┐&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;官方&amp;nbsp;API&amp;nbsp;SDK&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;淘客&amp;nbsp;API&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;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;(公开商品)&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;(补充数据)&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;└──────┬───────┘&amp;nbsp;&amp;nbsp;└──────┬───────┘&amp;nbsp;&amp;nbsp;└──────┬───────┘&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
└─────────┼─────────────────┼─────────────────┼──────────────┘
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;▼&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;▼&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;▼
┌─────────────────────────────────────────────────────────────┐
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;数据处理层&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;┌──────────────┐&amp;nbsp;&amp;nbsp;┌──────────────┐&amp;nbsp;&amp;nbsp;┌──────────────┐&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;数据清洗&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;变化检测&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;异常识别&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;(字段映射)&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;(价格/销量)&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;(爆款/缺货)&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;└──────┬───────┘&amp;nbsp;&amp;nbsp;└──────┬───────┘&amp;nbsp;&amp;nbsp;└──────┬───────┘&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
└─────────┼─────────────────┼─────────────────┼──────────────┘
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;▼&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;▼&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;▼
┌─────────────────────────────────────────────────────────────┐
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;存储层&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;┌──────────────┐&amp;nbsp;&amp;nbsp;┌──────────────┐&amp;nbsp;&amp;nbsp;┌──────────────┐&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;MySQL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;Redis&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;Elasticsearch│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;(关系数据)&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;(缓存/队列)&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;(全文检索)&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;└──────────────┘&amp;nbsp;&amp;nbsp;└──────────────┘&amp;nbsp;&amp;nbsp;└──────────────┘&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
└─────────────────────────────────────────────────────────────┘
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;▼
┌─────────────────────────────────────────────────────────────┐
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;告警通知层&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;┌──────────────┐&amp;nbsp;&amp;nbsp;┌──────────────┐&amp;nbsp;&amp;nbsp;┌──────────────┐&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;钉钉/飞书&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;邮件&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;Webhook&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;机器人&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;(详细报表)&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;(自定义)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&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 data-v-5f641036=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;&quot;&gt;&lt;/div&gt;&lt;h3 style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;6.2 限流与容错设计&lt;/h3&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;java&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-java&quot; style=&quot;padding: 16px; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255); font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto;&quot;&gt;import&amp;nbsp;com.google.common.util.concurrent.RateLimiter;import&amp;nbsp;org.springframework.retry.annotation.Backoff;import&amp;nbsp;org.springframework.retry.annotation.Retryable;import&amp;nbsp;org.springframework.stereotype.Component;@Componentpublic&amp;nbsp;class&amp;nbsp;ResilientApiCaller&amp;nbsp;{

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;令牌桶限流：每秒&amp;nbsp;2&amp;nbsp;个请求（官方&amp;nbsp;API&amp;nbsp;建议频率）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;final&amp;nbsp;RateLimiter&amp;nbsp;rateLimiter&amp;nbsp;=&amp;nbsp;RateLimiter.create(2.0);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;带重试和限流的&amp;nbsp;API&amp;nbsp;调用
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Retryable(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;value&amp;nbsp;=&amp;nbsp;{ApiException.class,&amp;nbsp;IOException.class},
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;maxAttempts&amp;nbsp;=&amp;nbsp;3,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;backoff&amp;nbsp;=&amp;nbsp;@Backoff(delay&amp;nbsp;=&amp;nbsp;1000,&amp;nbsp;multiplier&amp;nbsp;=&amp;nbsp;2)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;&amp;lt;T&amp;gt;&amp;nbsp;T&amp;nbsp;callWithResilience(Callable&amp;lt;T&amp;gt;&amp;nbsp;apiCall)&amp;nbsp;throws&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;&amp;nbsp;rateLimiter.acquire();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;return&amp;nbsp;apiCall.call();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(ApiException&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;if&amp;nbsp;(isRateLimitError(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;&amp;nbsp;Thread.sleep(5000);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;throw&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;private&amp;nbsp;boolean&amp;nbsp;isRateLimitError(ApiException&amp;nbsp;e)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;subCode&amp;nbsp;=&amp;nbsp;e.getSubCode();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;subCode&amp;nbsp;!=&amp;nbsp;null&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;subCode.contains(&amp;quot;limit&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;subCode.contains(&amp;quot;accesscontrol&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;subCode.contains(&amp;quot;frequency&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;}}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;&quot;&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;七、关键注意事项&lt;/h2&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;7.1 合规与法律边界&lt;/h3&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; vertical-align: baseline; max-width: 100%; width: max-content; position: relative;&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; class=&quot;firstRow&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;⚠️ 风险点&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;说明&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;建议&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;数据使用范围&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;淘宝数据受《淘宝平台服务协议》约束&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;仅用于自有业务分析，不得转售&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;授权管理&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;SessionKey 有有效期，需自动刷新&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;实现 Token 自动续期机制&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;频率控制&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;超出限流会导致应用被封禁&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;严格遵守 QPS 限制，使用令牌桶&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;隐私数据&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;不得采集用户个人信息&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;仅采集公开商品信息&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;7.2 技术最佳实践&lt;/h3&gt;&lt;ol start=&quot;1&quot; class=&quot; list-paddingleft-2&quot; style=&quot;margin-bottom: 16px; width: 684.028px; padding: 0px 0px 0px 26px; font: inherit; scrollbar-color: transparent transparent; border: 0px; vertical-align: baseline; list-style-position: initial; list-style-image: initial;&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;数据幂等性&lt;/span&gt;：同一商品同一时间点多次采集，数据库应去重保存&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;增量更新&lt;/span&gt;：首次全量采集后，后续只采集变更字段，降低 API 调用量&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;分布式锁&lt;/span&gt;：多实例部署时使用 Redis 分布式锁，避免重复采集&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;熔断降级&lt;/span&gt;：API 服务异常时，切换至缓存数据或降低采集频率&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;日志审计&lt;/span&gt;：记录所有 API 调用日志，便于排查问题和合规审计&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;hr style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;八、总结&lt;/h2&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; vertical-align: baseline; max-width: 100%; width: max-content; position: relative;&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; class=&quot;firstRow&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;场景&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;推荐方案&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;核心接口&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;自有店铺监控&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;官方 TOP SDK&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;items.onsale.get&lt;/code&gt; + &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;item.get&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;竞品/公开商品&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;淘宝联盟 API&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;tbk.item.info.get&lt;/code&gt; + &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;tbk.item.get&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;快速原型/补充&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;第三方 HTTP API&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;商品详情 + 搜索接口&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;监控系统的核心价值不在于&amp;quot;能采到数据&amp;quot;，而在于&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;及时感知变化并驱动决策&lt;/span&gt;。建议将采集到的数据与 BI 工具（如 Grafana、Superset）对接，构建可视化监控大盘，真正实现数据驱动的电商运营。&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-cc94a637=&quot;&quot; class=&quot;okc-cards-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; flex-wrap: wrap; gap: 16px;&quot;&gt;&lt;/div&gt;&lt;div data-v-c32697f1=&quot;&quot; data-v-7811be09=&quot;&quot; class=&quot;segment-assistant-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 20px 0px 0px; padding: 0px; border: 0px; vertical-align: baseline; width: 720.035px; height: 28px; display: flex; gap: 8px; transition: opacity 0.2s; justify-content: space-between; opacity: 1;&quot;&gt;&lt;div data-v-c32697f1=&quot;&quot; class=&quot;segment-assistant-actions-content&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 12px; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; height: 28px; display: flex; gap: 6px; align-items: center;&quot;&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-c32697f1=&quot;&quot; class=&quot;icon-button&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-c32697f1=&quot;&quot; class=&quot;icon-button&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Refresh&quot;&gt;&lt;path d=&quot;M303.104 315.392c114.688-114.688 303.104-114.688 417.792 0l-32.768 32.768c-20.48 20.48-4.096 57.344 24.576 57.344h118.784c16.384 0 32.768-16.384 32.768-32.768V253.952c0-28.672-36.864-45.056-57.344-24.576l-32.768 32.768c-143.36-143.36-376.832-143.36-520.192 0s-143.36 376.832 0 520.192 376.832 143.36 520.192 0c49.152-49.152 77.824-106.496 94.208-163.84 4.096-20.48-8.192-40.96-24.576-45.056-20.48-4.096-40.96 8.192-45.056 24.576-12.288 49.152-36.864 94.208-77.824 131.072-114.688 114.688-303.104 114.688-417.792 0-114.688-110.592-114.688-299.008 0-413.696z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-c32697f1=&quot;&quot; class=&quot;icon-button&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Share_a&quot;&gt;&lt;path d=&quot;M386.218667 247.850667c0-102.4 120.405333-157.397333 197.76-90.282667l304.426666 264.32a119.466667 119.466667 0 0 1 1.365334 179.285333l-304.469334 272.170667c-76.970667 68.778667-199.082667 14.122667-199.082666-89.088v-89.173333c-33.024 2.261333-59.306667 6.826667-83.2 15.36-30.592 10.88-61.866667 29.952-98.602667 67.712a76.8 76.8 0 0 1-131.84-53.504c0-98.645333 24.106667-190.976 83.712-261.888 55.253333-65.792 133.973333-104.789333 229.930667-117.845334V247.850667z m147.413333-32.256c-27.648-23.978667-70.613333-4.352-70.613333 32.256v126.208l-0.256 4.309333c-2.218667 21.504-20.437333 38.186667-42.410667 40.021333l-17.194667 1.706667c-173.994667 20.949333-253.824 136.405333-253.824 304.554667 86.997333-89.557333 163.925333-105.386667 270.933334-107.861334a42.026667 42.026667 0 0 1 42.752 42.24v125.226667c0 34.56 38.272 53.845333 65.706666 35.925333l5.376-4.096 304.426667-272.213333a42.666667 42.666667 0 0 0 2.986667-60.714667l-3.413334-3.285333-304.469333-264.277333z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-c32697f1=&quot;&quot; class=&quot;icon-button&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Like&quot;&gt;&lt;path d=&quot;M507.94496 118.70208L512 118.784c41.7792 0 88.92416 30.76096 114.36032 80.81408 25.23136 44.2368 25.64096 100.352 12.6976 159.04768h123.78112c95.4368 0 177.43872 82.98496 148.02944 178.33984l-76.96384 249.6512c-19.37408 62.79168-81.75616 102.1952-148.02944 102.1952h-298.1888a116.57216 116.57216 0 0 1-116.5312-116.57216V422.2976c0-35.2256 23.38816-61.27616 47.75936-73.85088a115.9168 115.9168 0 0 0 56.19712-62.464c7.5776-20.0704 10.60864-37.76512 13.80352-56.40192l1.35168-7.61856c3.44064-19.6608 8.35584-45.99808 26.624-67.74784 16.71168-19.94752 35.84-29.73696 55.17312-33.5872 13.27104-2.62144 27.97568-2.21184 35.88096-1.96608z m-21.54496 74.30144c-3.44064 0.69632-7.49568 2.048-13.06624 8.64256-4.01408 4.79232-6.79936 12.288-10.48576 33.1776l-1.2288 6.9632c-3.11296 18.51392-7.33184 43.13088-17.53088 70.20544a189.6448 189.6448 0 0 1-91.38176 102.03136 18.6368 18.6368 0 0 0-6.63552 5.44768c-1.14688 1.6384-1.2288 2.58048-1.2288 2.8672v349.92128c0 23.67488 19.2512 42.84416 42.88512 42.84416h298.14784c39.15776 0 69.2224-23.01952 77.57824-50.21696l76.96384-249.61024c11.18208-36.20864-18.80064-82.90304-77.57824-82.90304h-172.07296a36.864 36.864 0 0 1-35.06176-48.29184c23.3472-71.68 22.44608-120.832 6.3488-148.48a38.0928 38.0928 0 0 1-1.10592-2.048C545.30048 202.30144 520.31488 192.512 512 192.512c-2.90816 0-5.81632-0.08192-8.27392-0.12288h-0.45056a264.6016 264.6016 0 0 0-7.12704-0.12288c-4.34176 0-7.3728 0.24576-9.74848 0.73728zM184.32 385.024a36.864 36.864 0 0 1 36.864 36.864v409.6a36.864 36.864 0 1 1-73.728 0v-409.6a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-c32697f1=&quot;&quot; class=&quot;icon-button&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Dislike&quot;&gt;&lt;path d=&quot;M516.096 905.216l4.05504 0.08192c7.90528 0.24576 22.60992 0.65536 35.88096-1.96608 19.33312-3.85024 38.5024-13.63968 55.21408-33.5872 18.2272-21.74976 23.1424-48.08704 26.624-67.74784l1.31072-7.61856c3.19488-18.6368 6.22592-36.29056 13.80352-56.40192a115.9168 115.9168 0 0 1 56.19712-62.464c24.3712-12.57472 47.75936-38.58432 47.75936-73.85088V251.74016A116.57216 116.57216 0 0 0 640.36864 135.168h-298.1888c-66.23232 0-128.6144 39.40352-147.98848 102.1952l-77.0048 249.6512c-29.36832 95.35488 52.67456 178.33984 148.0704 178.33984h123.74016c-12.9024 58.65472-12.4928 114.85184 12.6976 159.08864 25.47712 49.9712 72.66304 80.77312 114.40128 80.77312z m38.66624-82.86208c-5.57056 6.59456-9.6256 7.94624-13.06624 8.64256-2.41664 0.49152-5.40672 0.73728-9.74848 0.73728-2.17088 0-4.42368 0-7.12704-0.12288h-0.45056c-2.4576-0.04096-5.36576-0.12288-8.27392-0.12288-8.31488 0-33.30048-9.74848-48.9472-41.04192a37.6832 37.6832 0 0 0-1.10592-2.048c-16.09728-27.68896-16.9984-76.8 6.3488-148.48a36.864 36.864 0 0 0-35.0208-48.29184H265.25696c-58.7776 0-88.76032-46.6944-77.57824-82.90304l77.0048-249.61024c8.35584-27.19744 38.37952-50.21696 77.53728-50.21696h298.1888c23.63392 0 42.8032 19.16928 42.8032 42.84416v349.92128c0 0.28672-0.04096 1.2288-1.2288 2.8672a18.59584 18.59584 0 0 1-6.5536 5.44768 189.6448 189.6448 0 0 0-91.42272 101.9904c-10.24 27.11552-14.41792 51.73248-17.57184 70.20544l-1.2288 7.04512c-3.6864 20.8896-6.43072 28.34432-10.4448 33.1776zM806.912 602.112a36.864 36.864 0 0 0 73.728 0v-409.6a36.864 36.864 0 1 0-73.728 0v409.6z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-cc94a637=&quot;&quot; class=&quot;chat-action&quot; style=&quot;font: inherit; text-wrap-mode: wrap; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 16px; border: 0px; vertical-align: baseline; width: 1758.45px; display: flex; flex-shrink: 0; align-items: center; justify-content: center; flex-direction: column; box-sizing: border-box; z-index: 10; position: sticky; bottom: 0px; left: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;&lt;div data-v-cc94a637=&quot;&quot; class=&quot;bottom-action-container&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: absolute; width: 800px; top: 0px; max-width: 800px; color: rgba(0, 0, 0, 0.9);&quot;&gt;&lt;div data-v-cc94a637=&quot;&quot; class=&quot;to-bottom&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 1.11111px; border-style: solid; border-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 20px; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; pointer-events: none; opacity: 0; width: 38px; height: 38px; position: absolute; bottom: 24px; border-radius: 50%; cursor: pointer; right: 0px; transform: translate(-50%); display: flex; align-items: center; justify-content: center; box-shadow: rgba(0, 0, 0, 0.25) 0px 4px 10px; transition: opacity 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-cc94a637=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify to-bottom-icon&quot; width=&quot;1em&quot; height=&quot;1em&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Down&quot;&gt;&lt;path d=&quot;M486.85056 919.10144a36.864 36.864 0 0 0 52.0192-0.12288l226.87744-226.83648a36.864 36.864 0 1 0-52.14208-52.14208l-163.92192 163.92192V155.648a36.864 36.864 0 0 0-73.728 0v648.72448l-165.64224-164.4544A36.864 36.864 0 0 0 258.33472 692.224l228.51584 226.87744z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-697939e1=&quot;&quot; data-v-cc94a637=&quot;&quot; class=&quot;chat-notifications&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; max-width: 768px; width: 767.986px; color: rgba(0, 0, 0, 0.9);&quot;&gt;&lt;/div&gt;&lt;div data-v-9b685d0c=&quot;&quot; data-v-cc94a637=&quot;&quot; class=&quot;chat-editor&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 1.11111px; border-style: solid; border-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; z-index: 13; box-sizing: border-box; position: relative; max-width: 768px; width: 767.986px; border-radius: 24px; box-shadow: rgba(0, 0, 0, 0.07) 0px 5px 16px -4px; color: rgba(0, 0, 0, 0.9);&quot;&gt;&lt;div data-v-ff99814a=&quot;&quot; data-v-9b685d0c=&quot;&quot; class=&quot;chat-input&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 12px 16px 10px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 24px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; min-height: 60px; display: flex; flex-direction: row;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style=&quot;text-wrap-mode: wrap;&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Thu, 21 May 2026 18:15:25 +0800</pubDate></item><item><title>Java 是什么？—— 一门改变世界的编程语言深度解析</title><link>https://jelenaapi.com/?id=114</link><description>&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;一、Java 的诞生：一杯咖啡引发的革命&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;1991年，Sun Microsystems（太阳微系统公司）的工程师詹姆斯·高斯林（James Gosling）带领团队启动了一个名为&amp;quot;Green Project&amp;quot;的秘密项目。最初目标是开发一种能在消费电子产品（如机顶盒、智能家电）上运行的编程语言。当时它被命名为 &lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Oak&lt;/span&gt;（橡树），后来因为商标冲突，团队在一次咖啡馆 brainstorming 中，看着手中的爪哇咖啡（Java Coffee），灵感迸发——&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Java&lt;/span&gt; 这个名字诞生了。☕&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;1995年，Sun 公司在 SunWorld 大会上正式发布了 Java 语言和 HotJava 浏览器，并喊出了那个响彻业界的口号：&lt;/div&gt;&lt;blockquote style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px 1em 0px 32px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; quotes: none; position: relative; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;&amp;quot;Write Once, Run Anywhere&amp;quot;（一次编写，到处运行）&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;这句话不是营销噱头，而是 Java 最核心的技术承诺。&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;二、Java 的本质定位&lt;/h2&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;2.1 它是一门什么样的语言？&lt;/h3&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; max-width: 100%; width: max-content; position: relative; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;维度&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;特性&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;说明&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;编程范式&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;多范式语言&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;面向对象（OOP）为主，支持函数式编程（Java 8+ Lambda）&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;执行方式&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;半编译半解释&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;源码编译为字节码（.class），再由 JVM 解释/编译执行&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;类型系统&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;静态类型 + 强类型&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;编译期类型检查，类型安全，减少运行时错误&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;内存管理&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;自动垃圾回收（GC）&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;无需手动 malloc/free，降低内存泄漏风险&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;跨平台&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;基于 JVM 实现&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;字节码可在任何装有 JVM 的系统上运行&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;2.2 &amp;quot;Write Once, Run Anywhere&amp;quot; 的技术真相&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;这是 Java 区别于 C/C++ 的根本设计哲学：&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;plain&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-plain&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;C/C++&amp;nbsp;程序：源码&amp;nbsp;→&amp;nbsp;编译器&amp;nbsp;→&amp;nbsp;机器码（Windows&amp;nbsp;.exe&amp;nbsp;/&amp;nbsp;Linux&amp;nbsp;ELF&amp;nbsp;/&amp;nbsp;macOS&amp;nbsp;Mach-O）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;↓
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;不同平台需要重新编译，二进制不兼容

Java&amp;nbsp;程序：&amp;nbsp;&amp;nbsp;&amp;nbsp;源码&amp;nbsp;→&amp;nbsp;javac&amp;nbsp;→&amp;nbsp;字节码（.class，平台无关）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;↓
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;任何平台的&amp;nbsp;JVM&amp;nbsp;都能加载并执行字节码&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;JVM（Java Virtual Machine，Java 虚拟机）&lt;/span&gt; 是这个架构的核心。它像一个&amp;quot;翻译官&amp;quot;，将通用的字节码实时转换为当前平台的本地机器指令。这意味着你在 Windows 编译的 Java 程序，可以直接复制到 Linux 服务器或 macOS 笔记本上运行，无需任何修改。&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;三、Java 的技术体系架构&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;Java 不是单一产品，而是一个完整的技术生态。官方将其划分为三大平台：&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;3.1 Java SE（Standard Edition，标准版）&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;Java 的基石，包含：&lt;/div&gt;&lt;ul start=&quot;1&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; list-style-position: initial; list-style-image: initial; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;JVM&lt;/span&gt;：Java 虚拟机&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;核心类库&lt;/span&gt;：集合框架（Collection）、IO/NIO、并发（Concurrency）、网络编程、反射等&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;开发工具&lt;/span&gt;：javac 编译器、javadoc 文档生成器、jar 打包工具等&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Java 语言规范&lt;/span&gt;：语法、类型系统、内存模型&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;3.2 Java EE / Jakarta EE（Enterprise Edition，企业版）&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;面向企业级应用，提供分布式、事务、安全等能力：&lt;/div&gt;&lt;ul start=&quot;1&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; list-style-position: initial; list-style-image: initial; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Servlet/JSP&lt;/span&gt;：Web 应用基础&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;EJB&lt;/span&gt;：企业级组件&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;JPA&lt;/span&gt;：对象关系映射（ORM）&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;JMS&lt;/span&gt;：消息服务&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;JTA/JTS&lt;/span&gt;：分布式事务&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;blockquote style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px 1em 0px 32px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; quotes: none; position: relative; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;注：2017 年 Oracle 将 Java EE 捐赠给 Eclipse 基金会，更名为 &lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Jakarta EE&lt;/span&gt;。&lt;/div&gt;&lt;/blockquote&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;3.3 Java ME（Micro Edition，微型版）&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;面向嵌入式和移动设备（如早期功能机），现已逐渐被 Android 和物联网框架取代。&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;四、Java 的核心技术特性深度剖析&lt;/h2&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;4.1 面向对象编程（OOP）&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;Java 是纯粹的面向对象语言（除基本数据类型外，一切皆对象）：&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;java&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-java&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;//&amp;nbsp;封装：将数据和操作数据的方法绑定在一起public&amp;nbsp;class&amp;nbsp;BankAccount&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;double&amp;nbsp;balance;&amp;nbsp;&amp;nbsp;//&amp;nbsp;私有字段，隐藏实现细节
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;void&amp;nbsp;deposit(double&amp;nbsp;amount)&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;(amount&amp;nbsp;&amp;gt;&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;this.balance&amp;nbsp;+=&amp;nbsp;amount;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;double&amp;nbsp;getBalance()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;balance;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}}//&amp;nbsp;继承：代码复用与扩展public&amp;nbsp;class&amp;nbsp;SavingsAccount&amp;nbsp;extends&amp;nbsp;BankAccount&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;double&amp;nbsp;interestRate;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;void&amp;nbsp;applyInterest()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;double&amp;nbsp;interest&amp;nbsp;=&amp;nbsp;getBalance()&amp;nbsp;*&amp;nbsp;interestRate;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;deposit(interest);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}}//&amp;nbsp;多态：同一接口，不同实现public&amp;nbsp;interface&amp;nbsp;Payment&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;void&amp;nbsp;pay(double&amp;nbsp;amount);}public&amp;nbsp;class&amp;nbsp;Alipay&amp;nbsp;implements&amp;nbsp;Payment&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;void&amp;nbsp;pay(double&amp;nbsp;amount)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&amp;quot;支付宝支付：&amp;quot;&amp;nbsp;+&amp;nbsp;amount);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}}public&amp;nbsp;class&amp;nbsp;WeChatPay&amp;nbsp;implements&amp;nbsp;Payment&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;void&amp;nbsp;pay(double&amp;nbsp;amount)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&amp;quot;微信支付：&amp;quot;&amp;nbsp;+&amp;nbsp;amount);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}}//&amp;nbsp;运行时多态Payment&amp;nbsp;payment&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Alipay();&amp;nbsp;&amp;nbsp;//&amp;nbsp;或&amp;nbsp;new&amp;nbsp;WeChatPay();payment.pay(100.0);&amp;nbsp;&amp;nbsp;//&amp;nbsp;实际调用&amp;nbsp;Alipay.pay()&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;4.2 自动内存管理与垃圾回收（GC）&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;这是 Java 解放程序员生产力的关键特性之一：&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;java&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-java&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;public&amp;nbsp;class&amp;nbsp;GCDemo&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;void&amp;nbsp;process()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;创建对象，JVM&amp;nbsp;在堆内存分配空间
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;byte[]&amp;nbsp;data&amp;nbsp;=&amp;nbsp;new&amp;nbsp;byte[1024&amp;nbsp;*&amp;nbsp;1024];&amp;nbsp;//&amp;nbsp;1MB
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;使用对象...
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;方法结束，局部引用失效
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;JVM&amp;nbsp;的垃圾回收器会自动检测并回收这块内存
&amp;nbsp;&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 data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;Java 提供多种垃圾回收器（G1、ZGC、Shenandoah），针对不同场景优化延迟和吞吐量。&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;4.3 异常处理机制&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;Java 强制区分受检异常（Checked Exception）和非受检异常（Unchecked Exception），增强代码健壮性：&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;java&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-java&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;public&amp;nbsp;void&amp;nbsp;readFile(String&amp;nbsp;path)&amp;nbsp;throws&amp;nbsp;IOException&amp;nbsp;{&amp;nbsp;&amp;nbsp;//&amp;nbsp;声明可能抛出的受检异常
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;(BufferedReader&amp;nbsp;reader&amp;nbsp;=&amp;nbsp;new&amp;nbsp;BufferedReader(new&amp;nbsp;FileReader(path)))&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;line&amp;nbsp;=&amp;nbsp;reader.readLine();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;自动关闭资源（try-with-resources&amp;nbsp;语法）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(FileNotFoundException&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;System.err.println(&amp;quot;文件不存在：&amp;quot;&amp;nbsp;+&amp;nbsp;e.getMessage());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;throw&amp;nbsp;e;&amp;nbsp;&amp;nbsp;//&amp;nbsp;重新抛出
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(IOException&amp;nbsp;e)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.err.println(&amp;quot;读取失败&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;throw&amp;nbsp;new&amp;nbsp;RuntimeException(&amp;quot;文件操作异常&amp;quot;,&amp;nbsp;e);&amp;nbsp;&amp;nbsp;//&amp;nbsp;包装异常
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;finally&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;最终执行（无论是否异常）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&amp;quot;清理操作&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;4.4 泛型与类型安全（Java 5+）&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;编译期类型检查，消除强制类型转换：&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;java&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-java&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;//&amp;nbsp;泛型前（Java&amp;nbsp;1.4）：不安全，运行时可能&amp;nbsp;ClassCastExceptionList&amp;nbsp;list&amp;nbsp;=&amp;nbsp;new&amp;nbsp;ArrayList();list.add(&amp;quot;hello&amp;quot;);list.add(123);&amp;nbsp;&amp;nbsp;//&amp;nbsp;编译通过，运行时报错String&amp;nbsp;s&amp;nbsp;=&amp;nbsp;(String)&amp;nbsp;list.get(0);//&amp;nbsp;泛型后（Java&amp;nbsp;5+）：编译期类型检查List&amp;lt;String&amp;gt;&amp;nbsp;safeList&amp;nbsp;=&amp;nbsp;new&amp;nbsp;ArrayList&amp;lt;&amp;gt;();safeList.add(&amp;quot;hello&amp;quot;);//&amp;nbsp;safeList.add(123);&amp;nbsp;&amp;nbsp;//&amp;nbsp;编译错误！类型不匹配String&amp;nbsp;s&amp;nbsp;=&amp;nbsp;safeList.get(0);&amp;nbsp;&amp;nbsp;//&amp;nbsp;无需强制转换&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;4.5 Lambda 表达式与函数式编程（Java 8+）&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;Java 8 是里程碑式版本，引入了函数式编程特性：&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;java&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-java&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;//&amp;nbsp;传统匿名内部类List&amp;lt;Integer&amp;gt;&amp;nbsp;numbers&amp;nbsp;=&amp;nbsp;Arrays.asList(1,&amp;nbsp;2,&amp;nbsp;3,&amp;nbsp;4,&amp;nbsp;5);numbers.forEach(new&amp;nbsp;Consumer&amp;lt;Integer&amp;gt;()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;void&amp;nbsp;accept(Integer&amp;nbsp;n)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(n);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}});//&amp;nbsp;Lambda&amp;nbsp;表达式（简洁语法）numbers.forEach(n&amp;nbsp;-&amp;gt;&amp;nbsp;System.out.println(n));//&amp;nbsp;方法引用（更简洁）numbers.forEach(System.out::println);//&amp;nbsp;Stream&amp;nbsp;API（声明式数据处理）List&amp;lt;Integer&amp;gt;&amp;nbsp;evens&amp;nbsp;=&amp;nbsp;numbers.stream()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.filter(n&amp;nbsp;-&amp;gt;&amp;nbsp;n&amp;nbsp;%&amp;nbsp;2&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;.map(n&amp;nbsp;-&amp;gt;&amp;nbsp;n&amp;nbsp;*&amp;nbsp;n)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;平方
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.sorted(Comparator.reverseOrder())&amp;nbsp;&amp;nbsp;//&amp;nbsp;降序
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.collect(Collectors.toList());&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 data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;4.6 模块化系统（Java 9+）&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;Java 9 引入 &lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;JPMS（Java Platform Module System）&lt;/span&gt;，解决&amp;quot;JAR 地狱&amp;quot;和臃肿运行时问题：&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;java&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-java&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;//&amp;nbsp;module-info.javamodule&amp;nbsp;com.myapp&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;requires&amp;nbsp;java.net.http;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;依赖&amp;nbsp;HTTP&amp;nbsp;Client&amp;nbsp;模块
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;requires&amp;nbsp;transitive&amp;nbsp;java.sql;&amp;nbsp;&amp;nbsp;//&amp;nbsp;传递依赖
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exports&amp;nbsp;com.myapp.api;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;对外暴露的包
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;opens&amp;nbsp;com.myapp.internal;&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 data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;五、Java 的运行时原理：JVM 深度揭秘&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;理解 Java 必须理解 JVM。它是 Java 的&amp;quot;灵魂&amp;quot;。&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;5.1 JVM 内存模型&lt;/h3&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;plain&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-plain&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&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;堆（Heap）&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;存放所有对象实例和数组&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;GC&amp;nbsp;的主要工作区域&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
├─────────────────────────────────────┤
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;元空间（Metaspace）&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;存储类元数据（Java&amp;nbsp;8&amp;nbsp;前为&amp;nbsp;PermGen）&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;本地内存，自动扩展&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
├─────────────────────────────────────┤
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;虚拟机栈（VM&amp;nbsp;Stack）&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;每个线程私有，存储栈帧（局部变量、&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;操作数栈、动态链接、方法返回地址）&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
├─────────────────────────────────────┤
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;本地方法栈（Native&amp;nbsp;Stack）&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;执行&amp;nbsp;Native&amp;nbsp;方法（C/C++&amp;nbsp;代码）&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
├─────────────────────────────────────┤
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;程序计数器（PC&amp;nbsp;Register）&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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 data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;5.2 字节码执行流程&lt;/h3&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;java&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-java&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;//&amp;nbsp;源码public&amp;nbsp;class&amp;nbsp;Hello&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(String[]&amp;nbsp;args)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&amp;quot;Hello,&amp;nbsp;Java!&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;编译后生成 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;Hello.class&lt;/code&gt;，使用 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;javap -c Hello&lt;/code&gt; 查看字节码：&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;plain&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-plain&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(java.lang.String[]);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Code:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0:&amp;nbsp;getstatic&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#2&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Field&amp;nbsp;java/lang/System.out:Ljava/io/PrintStream;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3:&amp;nbsp;ldc&amp;nbsp;&amp;nbsp;&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;String&amp;nbsp;Hello,&amp;nbsp;Java!
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5:&amp;nbsp;invokevirtual&amp;nbsp;#4&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Method&amp;nbsp;java/io/PrintStream.println:(Ljava/lang/String;)V
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8:&amp;nbsp;return&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;执行过程：&lt;/span&gt;&lt;/div&gt;&lt;ol start=&quot;1&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; list-style-position: initial; list-style-image: initial; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;类加载器（ClassLoader）&lt;/span&gt; 将 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;.class&lt;/code&gt; 文件加载到 JVM&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;字节码验证器&lt;/span&gt; 检查字节码安全性&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;解释器&lt;/span&gt; 逐条解释执行字节码（启动快，执行慢）&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;JIT 编译器（Just-In-Time）&lt;/span&gt; 将热点代码编译为本地机器码（执行快）&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;垃圾回收器&lt;/span&gt; 自动管理不再使用的对象内存&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;六、Java 的现代演进（Java 8 → Java 21+）&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;Java 近年采用&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;半年发布周期&lt;/span&gt;，持续引入现代化特性：&lt;/div&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; max-width: 100%; width: max-content; position: relative; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;版本&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;年份&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;重大特性&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Java 8&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;2014&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;Lambda、Stream API、Optional、新日期时间 API&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Java 11&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;2018&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;LTS 版本、HTTP Client、ZGC、移除 Java EE 模块&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Java 17&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;2021&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;LTS 版本、密封类（Sealed Classes）、模式匹配&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Java 21&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;2023&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;LTS 版本、&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;虚拟线程（Virtual Threads）&lt;/span&gt;、序列集合、分代 ZGC&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;6.1 虚拟线程（Project Loom）—— Java 21 的革命性特性&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;解决高并发场景下的线程资源瓶颈：&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;java&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-java&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;//&amp;nbsp;传统线程（OS&amp;nbsp;线程，重量级）Thread.startVirtualThread(()&amp;nbsp;-&amp;gt;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;虚拟线程，由&amp;nbsp;JVM&amp;nbsp;调度，可创建数百万个
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&amp;quot;运行在虚拟线程：&amp;quot;&amp;nbsp;+&amp;nbsp;Thread.currentThread());});//&amp;nbsp;或使用结构化并发&amp;nbsp;APItry&amp;nbsp;(var&amp;nbsp;scope&amp;nbsp;=&amp;nbsp;new&amp;nbsp;StructuredTaskScope.ShutdownOnFailure())&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Future&amp;lt;String&amp;gt;&amp;nbsp;user&amp;nbsp;=&amp;nbsp;scope.fork(()&amp;nbsp;-&amp;gt;&amp;nbsp;fetchUser());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Future&amp;lt;Integer&amp;gt;&amp;nbsp;order&amp;nbsp;=&amp;nbsp;scope.fork(()&amp;nbsp;-&amp;gt;&amp;nbsp;fetchOrder());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;scope.join();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;等待所有任务
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;scope.throwIfFailed();&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;new&amp;nbsp;Response(user.resultNow(),&amp;nbsp;order.resultNow());}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;虚拟线程让 Java 在处理百万级并发连接时，性能接近 Go 和 Node.js，同时保持 Java 的强类型和成熟生态优势。&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;七、Java 的应用领域：无处不在&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;Java 不是一门&amp;quot;过时&amp;quot;的语言，而是&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;当今世界上应用最广泛的编程语言之一&lt;/span&gt;：&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;7.1 企业级后端（绝对统治地位）&lt;/h3&gt;&lt;ul start=&quot;1&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; list-style-position: initial; list-style-image: initial; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Spring 生态&lt;/span&gt;：Spring Boot、Spring Cloud 构建微服务架构&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Apache 生态&lt;/span&gt;：Dubbo、RocketMQ、ShardingSphere&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;大数据&lt;/span&gt;：Hadoop、Spark、Flink 均基于 Java/Scala（JVM 语言）&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;java&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-java&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;//&amp;nbsp;Spring&amp;nbsp;Boot：几行代码启动&amp;nbsp;Web&amp;nbsp;服务@SpringBootApplicationpublic&amp;nbsp;class&amp;nbsp;Application&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(String[]&amp;nbsp;args)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SpringApplication.run(Application.class,&amp;nbsp;args);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}}@RestControllerclass&amp;nbsp;HelloController&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@GetMapping(&amp;quot;/hello&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;String&amp;nbsp;hello()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;&amp;quot;Hello,&amp;nbsp;World!&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;7.2 Android 移动开发&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;Android 系统原生支持 Java（现主推 Kotlin，但 Kotlin 同样运行在 JVM 上，与 Java 100% 互操作）。&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;7.3 云计算与容器化&lt;/h3&gt;&lt;ul start=&quot;1&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; list-style-position: initial; list-style-image: initial; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;云原生&lt;/span&gt;：Quarkus、Micronaut 框架实现 GraalVM 原生镜像编译，启动毫秒级&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Kubernetes&lt;/span&gt;：大量运维工具（如 Jenkins、Elasticsearch）基于 Java&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;7.4 金融科技&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;银行核心系统、证券交易系统、支付网关——Java 的强类型、高性能、成熟生态使其成为金融行业的首选。&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;7.5 物联网与嵌入式&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;Java ME 虽然式微，但 &lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Java Card&lt;/span&gt; 仍在智能卡领域广泛应用，&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;GraalVM&lt;/span&gt; 让 Java 在资源受限设备上焕发新生。&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;八、Java 的生态系统：为什么开发者离不开它？&lt;/h2&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;8.1 构建工具&lt;/h3&gt;&lt;ul start=&quot;1&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; list-style-position: initial; list-style-image: initial; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Maven&lt;/span&gt;：基于 XML 的项目管理和依赖管理&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Gradle&lt;/span&gt;：基于 Groovy/Kotlin DSL，更灵活强大&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;8.2 测试框架&lt;/h3&gt;&lt;ul start=&quot;1&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; list-style-position: initial; list-style-image: initial; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;JUnit 5&lt;/span&gt;：单元测试标准&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Mockito&lt;/span&gt;：模拟对象测试&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Selenium/TestNG&lt;/span&gt;：自动化测试&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;8.3 监控与运维&lt;/h3&gt;&lt;ul start=&quot;1&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; list-style-position: initial; list-style-image: initial; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;JMX&lt;/span&gt;：Java 管理扩展，运行时监控&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Micrometer&lt;/span&gt;：指标收集，对接 Prometheus&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Arthas&lt;/span&gt;：阿里巴巴开源的 Java 诊断神器&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;8.4 性能优化&lt;/h3&gt;&lt;ul start=&quot;1&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; list-style-position: initial; list-style-image: initial; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;JProfiler/VisualVM&lt;/span&gt;：性能分析&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;GraalVM&lt;/span&gt;：Ahead-of-Time 编译，将 Java 编译为独立原生可执行文件&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;九、Java vs 其他语言：客观对比&lt;/h2&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; max-width: 100%; width: max-content; position: relative; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;特性&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;Java&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;Python&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;Go&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;JavaScript/Node.js&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;执行性能&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★★★☆（JIT 优化后接近 C++）&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★☆☆☆（解释执行）&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★★★★（编译为机器码）&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★★☆☆（V8 引擎优化）&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;开发效率&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★★☆☆（样板代码较多）&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★★★★（简洁语法）&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★★★☆（简洁但功能有限）&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★★★☆（灵活但易出错）&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;类型安全&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★★★★（静态强类型）&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★☆☆☆（动态类型）&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★★★☆（静态类型但无泛型）&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★☆☆☆（动态类型）&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;并发处理&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★★★★（虚拟线程 + 成熟并发库）&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★☆☆☆（GIL 限制）&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★★★★（Goroutine 轻量）&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★★☆☆（事件循环 + Worker）&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;生态成熟度&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★★★★（30 年积累）&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★★★★（AI/数据科学）&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★★★☆（云原生为主）&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★★★★（前端 + 全栈）&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;就业市场&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★★★★（企业级需求稳定）&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★★★★（AI/数据热门）&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★★★☆（云原生增长）&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;★★★★★（全栈需求大）&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Java 的核心优势&lt;/span&gt;：生态深度、企业级稳定性、人才储备、长期维护保障（Oracle + 社区双轨支持）。&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;十、总结：Java 是什么？&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;Java 不仅仅是一门编程语言，它是一个&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;经过 30 年验证的技术平台&lt;/span&gt;：&lt;/div&gt;&lt;ol start=&quot;1&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; list-style-position: initial; list-style-image: initial; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;它是&amp;quot;稳健&amp;quot;的代名词&lt;/span&gt;——强类型、编译检查、异常处理、垃圾回收，让大型团队协作和长期维护成为可能&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;它是&amp;quot;跨平台&amp;quot;的标杆&lt;/span&gt;——JVM 让代码摆脱硬件和操作系统的束缚&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;它是&amp;quot;生态&amp;quot;的典范&lt;/span&gt;——数百万开源库、成熟的框架、丰富的工具链、庞大的开发者社区&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;它是&amp;quot;进化&amp;quot;的样本&lt;/span&gt;——从 Java 8 的 Lambda 到 Java 21 的虚拟线程，它持续吸收现代编程范式，保持活力&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;从 1995 年那个咖啡馆里的命名，到今天运行在数十亿台设备上，Java 证明了：&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;好的技术设计能够穿越周期&lt;/span&gt;。&lt;/div&gt;&lt;blockquote style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px 1em 0px 32px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; quotes: none; position: relative; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;&amp;quot;Java 不是最酷的语言，但它是能帮你把事情做成、做稳的语言。&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Thu, 21 May 2026 17:55:02 +0800</pubDate></item><item><title>Java 获取淘宝/天猫推荐商品列表实战指南</title><link>https://jelenaapi.com/?id=113</link><description>&lt;h2 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;一、方案选择：官方 API vs 第三方数据服务&lt;/h2&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;1. 淘宝开放平台官方 API（推荐用于自有店铺）&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;淘宝开放平台（Taobao Open Platform, TOP）提供了官方 SDK，适合管理&lt;span class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;自有店铺&lt;/span&gt;的商品。&lt;div data-v-77c93641=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;pua-ref-renderer pua-ref-renderer--cite&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; white-space-collapse: collapse; display: inline-block;&quot;&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://developer.aliyun.com/article/1732743&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;阿里云开发者社区&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;核心推荐相关接口：&lt;/span&gt;&lt;/div&gt;&lt;ul start=&quot;1&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; list-style-position: initial; list-style-image: initial; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;taobao.item.recommend.get&lt;/code&gt; — 获取官方推荐结果&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;taobao.item.recommend.items.get&lt;/code&gt; — 获取商品关联推荐（用于挖掘商品间关联）&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;taobao.tbk.item.recommend.get&lt;/code&gt; — 淘宝联盟淘客商品推荐（需淘客认证）&lt;div data-v-77c93641=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;pua-ref-renderer pua-ref-renderer--cite&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; white-space-collapse: collapse; display: inline-block;&quot;&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://juejin.cn/post/7611966480843014196&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;稀土掘金&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;span class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;限制：&lt;/span&gt; 需要注册开发者账号、创建应用、申请权限，且主要用于管理自有店铺数据。&lt;/div&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;2. 第三方数据服务 API（适合通用商品检索）&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;如果需要获取&lt;span class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;公开商品&lt;/span&gt;的推荐列表（非自有店铺），可使用第三方合规数据服务，如 JustOneAPI、万邦等。这些服务封装了淘宝/天猫的公开数据，提供标准化的 REST 接口。&lt;div data-v-77c93641=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;pua-ref-renderer pua-ref-renderer--cite&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; white-space-collapse: collapse; display: inline-block;&quot;&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://juejin.cn/post/7127495210673635359&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;稀土掘金&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;二、方案一：使用淘宝官方 SDK（TOP 平台）&lt;/h2&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;2.1 环境准备&lt;/h3&gt;&lt;ol start=&quot;1&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; list-style-position: initial; list-style-image: initial; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;注册开发者账号&lt;/span&gt;：访问 &lt;a data-v-b3358103=&quot;&quot; target=&quot;_blank&quot; href=&quot;https://open.taobao.com/&quot; rel=&quot;noreferrer nofollow noopener&quot; class=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; text-decoration-line: none; cursor: pointer; color: rgb(23, 131, 255);&quot;&gt;淘宝开放平台&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;创建应用&lt;/span&gt;：获取 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;AppKey&lt;/code&gt; 和 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;AppSecret&lt;/code&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;下载 Java SDK&lt;/span&gt;：在应用管理页面下载对应 SDK&lt;div data-v-77c93641=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;pua-ref-renderer pua-ref-renderer--cite&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; white-space-collapse: collapse; display: inline-block;&quot;&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://developer.alibaba.com/docs/doc.htm?treeId=735&amp;articleId=121120&amp;docType=1&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;阿里巴巴开发者平台&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Maven 依赖&lt;/span&gt;（如手动导入 SDK）：&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;xml&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-xml&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;&amp;lt;dependency&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;groupId&amp;gt;com.taobao&amp;lt;/groupId&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;artifactId&amp;gt;taobao-sdk-java&amp;lt;/artifactId&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;version&amp;gt;2024.0.0&amp;lt;/version&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;scope&amp;gt;system&amp;lt;/scope&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;systemPath&amp;gt;${project.basedir}/lib/taobao-sdk-java.jar&amp;lt;/systemPath&amp;gt;&amp;lt;/dependency&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;2.2 Java 代码示例：获取商品关联推荐&lt;/h3&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;java&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-java&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;import&amp;nbsp;com.taobao.api.ApiException;import&amp;nbsp;com.taobao.api.DefaultTaobaoClient;import&amp;nbsp;com.taobao.api.TaobaoClient;import&amp;nbsp;com.taobao.api.request.ItemRecommendItemsGetRequest;import&amp;nbsp;com.taobao.api.response.ItemRecommendItemsGetResponse;import&amp;nbsp;com.taobao.api.domain.Item;import&amp;nbsp;java.util.List;/**
&amp;nbsp;*&amp;nbsp;淘宝商品关联推荐获取示例
&amp;nbsp;*&amp;nbsp;使用官方&amp;nbsp;TOP&amp;nbsp;SDK
&amp;nbsp;*/public&amp;nbsp;class&amp;nbsp;TaobaoRecommendOfficial&amp;nbsp;{

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;沙箱环境地址，生产环境使用&amp;nbsp;https://gw.api.taobao.com/router/rest
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;final&amp;nbsp;String&amp;nbsp;SERVER_URL&amp;nbsp;=&amp;nbsp;&amp;quot;https://gw.api.taobao.com/router/rest&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;final&amp;nbsp;String&amp;nbsp;APP_KEY&amp;nbsp;=&amp;nbsp;&amp;quot;your_app_key&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;final&amp;nbsp;String&amp;nbsp;APP_SECRET&amp;nbsp;=&amp;nbsp;&amp;quot;your_app_secret&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;final&amp;nbsp;String&amp;nbsp;SESSION_KEY&amp;nbsp;=&amp;nbsp;&amp;quot;your_session_key&amp;quot;;&amp;nbsp;//&amp;nbsp;用户授权令牌

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(String[]&amp;nbsp;args)&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;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;TaobaoClient&amp;nbsp;client&amp;nbsp;=&amp;nbsp;new&amp;nbsp;DefaultTaobaoClient(SERVER_URL,&amp;nbsp;APP_KEY,&amp;nbsp;APP_SECRET);

&amp;nbsp;&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;&amp;nbsp;ItemRecommendItemsGetRequest&amp;nbsp;req&amp;nbsp;=&amp;nbsp;new&amp;nbsp;ItemRecommendItemsGetRequest();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;req.setNumIid(652874751412L);&amp;nbsp;&amp;nbsp;//&amp;nbsp;目标商品ID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;req.setFields(&amp;quot;num_iid,title,price,pic_url,item_url&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;3.&amp;nbsp;执行请求（需要用户授权session）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ItemRecommendItemsGetResponse&amp;nbsp;rsp&amp;nbsp;=&amp;nbsp;client.execute(req,&amp;nbsp;SESSION_KEY);

&amp;nbsp;&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;if&amp;nbsp;(rsp.isSuccess())&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&amp;lt;Item&amp;gt;&amp;nbsp;items&amp;nbsp;=&amp;nbsp;rsp.getValues();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&amp;quot;获取到&amp;nbsp;&amp;quot;&amp;nbsp;+&amp;nbsp;items.size()&amp;nbsp;+&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;(Item&amp;nbsp;item&amp;nbsp;:&amp;nbsp;items)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&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;System.out.println(&amp;quot;商品ID:&amp;nbsp;&amp;quot;&amp;nbsp;+&amp;nbsp;item.getNumIid());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&amp;quot;标题:&amp;nbsp;&amp;quot;&amp;nbsp;+&amp;nbsp;item.getTitle());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&amp;quot;价格:&amp;nbsp;&amp;quot;&amp;nbsp;+&amp;nbsp;item.getPrice());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&amp;quot;图片:&amp;nbsp;&amp;quot;&amp;nbsp;+&amp;nbsp;item.getPicUrl());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&amp;quot;链接:&amp;nbsp;&amp;quot;&amp;nbsp;+&amp;nbsp;item.getItemUrl());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&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;System.err.println(&amp;quot;调用失败:&amp;nbsp;&amp;quot;&amp;nbsp;+&amp;nbsp;rsp.getMsg());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.err.println(&amp;quot;错误码:&amp;nbsp;&amp;quot;&amp;nbsp;+&amp;nbsp;rsp.getSubCode());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.err.println(&amp;quot;错误信息:&amp;nbsp;&amp;quot;&amp;nbsp;+&amp;nbsp;rsp.getSubMsg());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;(ApiException&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;e.printStackTrace();
&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 data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;2.3 淘宝联盟淘客推荐（需淘客认证）&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;如果你需要获取带佣金的推荐商品（如搭建选品库），可使用淘宝联盟 API：&lt;div data-v-77c93641=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;pua-ref-renderer pua-ref-renderer--cite&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; white-space-collapse: collapse; display: inline-block;&quot;&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://juejin.cn/post/7611966480843014196&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;稀土掘金&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;java&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-java&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;import&amp;nbsp;com.taobao.api.TaobaoClient;import&amp;nbsp;com.taobao.api.DefaultTaobaoClient;import&amp;nbsp;com.taobao.api.request.TbkItemRecommendGetRequest;import&amp;nbsp;com.taobao.api.response.TbkItemRecommendGetResponse;/**
&amp;nbsp;*&amp;nbsp;淘宝联盟商品推荐（淘客场景）
&amp;nbsp;*/public&amp;nbsp;class&amp;nbsp;TaobaoTbkRecommend&amp;nbsp;{

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;final&amp;nbsp;String&amp;nbsp;SERVER_URL&amp;nbsp;=&amp;nbsp;&amp;quot;https://gw.api.taobao.com/router/rest&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;final&amp;nbsp;String&amp;nbsp;APP_KEY&amp;nbsp;=&amp;nbsp;&amp;quot;your_app_key&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;final&amp;nbsp;String&amp;nbsp;APP_SECRET&amp;nbsp;=&amp;nbsp;&amp;quot;your_app_secret&amp;quot;;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(String[]&amp;nbsp;args)&amp;nbsp;throws&amp;nbsp;Exception&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TaobaoClient&amp;nbsp;client&amp;nbsp;=&amp;nbsp;new&amp;nbsp;DefaultTaobaoClient(SERVER_URL,&amp;nbsp;APP_KEY,&amp;nbsp;APP_SECRET);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TbkItemRecommendGetRequest&amp;nbsp;req&amp;nbsp;=&amp;nbsp;new&amp;nbsp;TbkItemRecommendGetRequest();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;req.setFields(&amp;quot;num_iid,title,pict_url,small_images,reserve_price,zk_final_price,user_type,provcity,item_url&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;req.setNumIid(123456L);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;基于该商品找相似推荐
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;req.setCount(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;返回数量
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;req.setPlatform(1);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;平台：1-PC,&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;TbkItemRecommendGetResponse&amp;nbsp;rsp&amp;nbsp;=&amp;nbsp;client.execute(req);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;(rsp.isSuccess())&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rsp.getResults().forEach(item&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;System.out.println(&amp;quot;标题:&amp;nbsp;&amp;quot;&amp;nbsp;+&amp;nbsp;item.getTitle());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&amp;quot;券后价:&amp;nbsp;&amp;quot;&amp;nbsp;+&amp;nbsp;item.getZkFinalPrice());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&amp;quot;佣金比例:&amp;nbsp;&amp;quot;&amp;nbsp;+&amp;nbsp;item.getCommissionRate());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});
&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 data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;三、方案二：使用第三方数据服务（HTTP 接口）&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;如果你需要快速接入且不需要管理自有店铺，可使用第三方 API 服务。以下以 JustOneAPI 为例演示 Java 调用。&lt;div data-v-77c93641=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;pua-ref-renderer pua-ref-renderer--cite&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; white-space-collapse: collapse; display: inline-block;&quot;&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://docs.justoneapi.com/zh/api/taobao-and-tmall/product-search-v1&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;Just One API Docs&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;3.1 Maven 依赖&lt;/h3&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;xml&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-xml&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;&amp;lt;dependencies&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!--&amp;nbsp;HTTP&amp;nbsp;客户端&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;dependency&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;groupId&amp;gt;com.squareup.okhttp3&amp;lt;/groupId&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;artifactId&amp;gt;okhttp&amp;lt;/artifactId&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;version&amp;gt;4.12.0&amp;lt;/version&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/dependency&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!--&amp;nbsp;JSON&amp;nbsp;解析&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;dependency&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;groupId&amp;gt;com.google.code.gson&amp;lt;/groupId&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;artifactId&amp;gt;gson&amp;lt;/artifactId&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;version&amp;gt;2.10.1&amp;lt;/version&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/dependency&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!--&amp;nbsp;Lombok（可选）&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;dependency&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;groupId&amp;gt;org.projectlombok&amp;lt;/groupId&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;artifactId&amp;gt;lombok&amp;lt;/artifactId&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;version&amp;gt;1.18.30&amp;lt;/version&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;scope&amp;gt;provided&amp;lt;/scope&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/dependency&amp;gt;&amp;lt;/dependencies&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;3.2 完整 Java 实现&lt;/h3&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;java&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-java&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;import&amp;nbsp;com.google.gson.Gson;import&amp;nbsp;com.google.gson.annotations.SerializedName;import&amp;nbsp;lombok.Data;import&amp;nbsp;okhttp3.HttpUrl;import&amp;nbsp;okhttp3.OkHttpClient;import&amp;nbsp;okhttp3.Request;import&amp;nbsp;okhttp3.Response;import&amp;nbsp;java.io.IOException;import&amp;nbsp;java.util.List;import&amp;nbsp;java.util.concurrent.TimeUnit;/**
&amp;nbsp;*&amp;nbsp;淘宝/天猫推荐商品列表获取（第三方&amp;nbsp;API&amp;nbsp;方案）
&amp;nbsp;*&amp;nbsp;基于&amp;nbsp;JustOneAPI&amp;nbsp;的搜索接口实现推荐逻辑
&amp;nbsp;*/public&amp;nbsp;class&amp;nbsp;TaobaoRecommendClient&amp;nbsp;{

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;final&amp;nbsp;String&amp;nbsp;BASE_URL&amp;nbsp;=&amp;nbsp;&amp;quot;https://api.justoneapi.com&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;中国大陆用户可改用：http://47.117.133.51:30015
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;final&amp;nbsp;String&amp;nbsp;API_KEY&amp;nbsp;=&amp;nbsp;&amp;quot;your_api_key&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;final&amp;nbsp;OkHttpClient&amp;nbsp;httpClient;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;final&amp;nbsp;Gson&amp;nbsp;gson;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;TaobaoRecommendClient()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.httpClient&amp;nbsp;=&amp;nbsp;new&amp;nbsp;OkHttpClient.Builder()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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(30,&amp;nbsp;TimeUnit.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;&amp;nbsp;.readTimeout(60,&amp;nbsp;TimeUnit.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;&amp;nbsp;.build();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.gson&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Gson();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;根据关键词获取推荐商品列表
&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;keyword&amp;nbsp;搜索关键词（如&amp;quot;手机&amp;quot;、&amp;quot;连衣裙&amp;quot;）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;sort&amp;nbsp;排序方式：_sale(销量),&amp;nbsp;bid(价格升序),&amp;nbsp;_bid(价格降序),&amp;nbsp;_coefp(综合)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;page&amp;nbsp;页码
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;isTmall&amp;nbsp;是否只返回天猫商品
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@return&amp;nbsp;商品列表响应
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;RecommendResponse&amp;nbsp;getRecommendItems(String&amp;nbsp;keyword,&amp;nbsp;String&amp;nbsp;sort,&amp;nbsp;int&amp;nbsp;page,&amp;nbsp;boolean&amp;nbsp;isTmall)&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;throws&amp;nbsp;IOException&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;构建请求&amp;nbsp;URL
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HttpUrl.Builder&amp;nbsp;urlBuilder&amp;nbsp;=&amp;nbsp;HttpUrl.parse(BASE_URL&amp;nbsp;+&amp;nbsp;&amp;quot;/api/taobao/search-item-list/v1&amp;quot;).newBuilder();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;urlBuilder.addQueryParameter(&amp;quot;token&amp;quot;,&amp;nbsp;API_KEY);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;urlBuilder.addQueryParameter(&amp;quot;keyword&amp;quot;,&amp;nbsp;keyword);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;urlBuilder.addQueryParameter(&amp;quot;sort&amp;quot;,&amp;nbsp;sort);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;urlBuilder.addQueryParameter(&amp;quot;page&amp;quot;,&amp;nbsp;String.valueOf(page));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(isTmall)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;urlBuilder.addQueryParameter(&amp;quot;tmall&amp;quot;,&amp;nbsp;&amp;quot;true&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;Request&amp;nbsp;request&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Request.Builder()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.url(urlBuilder.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;.get()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;try&amp;nbsp;(Response&amp;nbsp;response&amp;nbsp;=&amp;nbsp;httpClient.newCall(request).execute())&amp;nbsp;{
&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;throw&amp;nbsp;new&amp;nbsp;IOException(&amp;quot;Unexpected&amp;nbsp;code:&amp;nbsp;&amp;quot;&amp;nbsp;+&amp;nbsp;response);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;json&amp;nbsp;=&amp;nbsp;response.body().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;return&amp;nbsp;gson.fromJson(json,&amp;nbsp;RecommendResponse.class);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;基于商品&amp;nbsp;ID&amp;nbsp;获取相似推荐（关联推荐）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;RecommendResponse&amp;nbsp;getSimilarItems(long&amp;nbsp;itemId)&amp;nbsp;throws&amp;nbsp;IOException&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;先获取商品详情，再基于类目/关键词搜索相似商品
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;实际项目中可结合多个接口实现精准推荐
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HttpUrl.Builder&amp;nbsp;urlBuilder&amp;nbsp;=&amp;nbsp;HttpUrl.parse(BASE_URL&amp;nbsp;+&amp;nbsp;&amp;quot;/api/taobao/get-item-detail/v1&amp;quot;).newBuilder();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;urlBuilder.addQueryParameter(&amp;quot;token&amp;quot;,&amp;nbsp;API_KEY);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;urlBuilder.addQueryParameter(&amp;quot;itemId&amp;quot;,&amp;nbsp;String.valueOf(itemId));

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Request&amp;nbsp;request&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Request.Builder()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.url(urlBuilder.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;.get()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;try&amp;nbsp;(Response&amp;nbsp;response&amp;nbsp;=&amp;nbsp;httpClient.newCall(request).execute())&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;json&amp;nbsp;=&amp;nbsp;response.body().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;ItemDetailResponse&amp;nbsp;detail&amp;nbsp;=&amp;nbsp;gson.fromJson(json,&amp;nbsp;ItemDetailResponse.class);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;基于商品标题关键词进行二次搜索推荐
&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;(detail&amp;nbsp;!=&amp;nbsp;null&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;detail.getData()&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;String&amp;nbsp;title&amp;nbsp;=&amp;nbsp;detail.getData().getTitle();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;提取核心关键词（简化版，实际可用&amp;nbsp;NLP&amp;nbsp;分词）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;keyword&amp;nbsp;=&amp;nbsp;title.split(&amp;quot;&amp;nbsp;&amp;quot;)[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;return&amp;nbsp;getRecommendItems(keyword,&amp;nbsp;&amp;quot;_coefp&amp;quot;,&amp;nbsp;1,&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;return&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;====================&amp;nbsp;数据模型&amp;nbsp;====================

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;class&amp;nbsp;RecommendResponse&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;int&amp;nbsp;code;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;String&amp;nbsp;message;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;List&amp;lt;ProductItem&amp;gt;&amp;nbsp;data;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;String&amp;nbsp;recordTime;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;boolean&amp;nbsp;isSuccess()&amp;nbsp;{
&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;code&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;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;class&amp;nbsp;ProductItem&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SerializedName(&amp;quot;item_id&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;long&amp;nbsp;itemId;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;String&amp;nbsp;title;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;double&amp;nbsp;price;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SerializedName(&amp;quot;original_price&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;double&amp;nbsp;originalPrice;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SerializedName(&amp;quot;promotion_price&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;double&amp;nbsp;promotionPrice;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SerializedName(&amp;quot;pic_url&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;String&amp;nbsp;picUrl;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SerializedName(&amp;quot;detail_url&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;String&amp;nbsp;detailUrl;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;int&amp;nbsp;sales;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SerializedName(&amp;quot;shop_title&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;String&amp;nbsp;shopTitle;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SerializedName(&amp;quot;seller_nick&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;String&amp;nbsp;sellerNick;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SerializedName(&amp;quot;is_tmall&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;boolean&amp;nbsp;isTmall;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SerializedName(&amp;quot;commission_rate&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;double&amp;nbsp;commissionRate;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@SerializedName(&amp;quot;coupon_info&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;String&amp;nbsp;couponInfo;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;class&amp;nbsp;ItemDetailResponse&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;int&amp;nbsp;code;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;DetailData&amp;nbsp;data;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;class&amp;nbsp;DetailData&amp;nbsp;{
&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;String&amp;nbsp;title;
&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;double&amp;nbsp;price;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;====================&amp;nbsp;主程序&amp;nbsp;====================

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(String[]&amp;nbsp;args)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TaobaoRecommendClient&amp;nbsp;client&amp;nbsp;=&amp;nbsp;new&amp;nbsp;TaobaoRecommendClient();

&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;System.out.println(&amp;quot;==========&amp;nbsp;获取关键词推荐商品&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;RecommendResponse&amp;nbsp;response&amp;nbsp;=&amp;nbsp;client.getRecommendItems(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;iPhone&amp;nbsp;16&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;&amp;quot;_sale&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;&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;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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;if&amp;nbsp;(response&amp;nbsp;!=&amp;nbsp;null&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;response.isSuccess())&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;printItems(response.getData());
&amp;nbsp;&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;System.err.println(&amp;quot;请求失败:&amp;nbsp;&amp;quot;&amp;nbsp;+&amp;nbsp;(response&amp;nbsp;!=&amp;nbsp;null&amp;nbsp;?&amp;nbsp;response.getMessage()&amp;nbsp;:&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&amp;quot;\n==========&amp;nbsp;基于商品&amp;nbsp;ID&amp;nbsp;获取相似推荐&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;RecommendResponse&amp;nbsp;similar&amp;nbsp;=&amp;nbsp;client.getSimilarItems(652874751412L);
&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;(similar&amp;nbsp;!=&amp;nbsp;null&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;similar.isSuccess())&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;printItems(similar.getData());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;(IOException&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;System.err.println(&amp;quot;网络请求异常:&amp;nbsp;&amp;quot;&amp;nbsp;+&amp;nbsp;e.getMessage());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;static&amp;nbsp;void&amp;nbsp;printItems(List&amp;lt;ProductItem&amp;gt;&amp;nbsp;items)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(items&amp;nbsp;==&amp;nbsp;null&amp;nbsp;||&amp;nbsp;items.isEmpty())&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.printf(&amp;quot;共获取到&amp;nbsp;%d&amp;nbsp;个推荐商品：%n%n&amp;quot;,&amp;nbsp;items.size());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;(ProductItem&amp;nbsp;item&amp;nbsp;:&amp;nbsp;items)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&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;System.out.printf(&amp;quot;商品ID:&amp;nbsp;%d%n&amp;quot;,&amp;nbsp;item.getItemId());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.printf(&amp;quot;标题:&amp;nbsp;%s%n&amp;quot;,&amp;nbsp;item.getTitle());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.printf(&amp;quot;平台:&amp;nbsp;%s%n&amp;quot;,&amp;nbsp;item.isTmall()&amp;nbsp;?&amp;nbsp;&amp;quot;天猫&amp;quot;&amp;nbsp;:&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;System.out.printf(&amp;quot;原价:&amp;nbsp;¥%.2f%n&amp;quot;,&amp;nbsp;item.getOriginalPrice());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.printf(&amp;quot;促销价:&amp;nbsp;¥%.2f%n&amp;quot;,&amp;nbsp;item.getPromotionPrice());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.printf(&amp;quot;销量:&amp;nbsp;%d%n&amp;quot;,&amp;nbsp;item.getSales());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.printf(&amp;quot;店铺:&amp;nbsp;%s%n&amp;quot;,&amp;nbsp;item.getShopTitle());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.printf(&amp;quot;图片:&amp;nbsp;%s%n&amp;quot;,&amp;nbsp;item.getPicUrl());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.printf(&amp;quot;链接:&amp;nbsp;%s%n&amp;quot;,&amp;nbsp;item.getDetailUrl());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&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;(item.getCouponInfo()&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;System.out.printf(&amp;quot;优惠券:&amp;nbsp;%s%n&amp;quot;,&amp;nbsp;item.getCouponInfo());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&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;(item.getCommissionRate()&amp;nbsp;&amp;gt;&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;System.out.printf(&amp;quot;佣金比例:&amp;nbsp;%.1f%%n&amp;quot;,&amp;nbsp;item.getCommissionRate()&amp;nbsp;/&amp;nbsp;100);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println();
&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 data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;四、方案三：使用万邦 API（OneBound）&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;万邦提供了专门的 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;item_recommend&lt;/code&gt; 接口，可直接获取推荐商品列表。&lt;div data-v-77c93641=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;pua-ref-renderer pua-ref-renderer--cite&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; white-space-collapse: collapse; display: inline-block;&quot;&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://juejin.cn/post/7127495210673635359&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;稀土掘金&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;java&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-java&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;import&amp;nbsp;java.net.URI;import&amp;nbsp;java.net.http.HttpClient;import&amp;nbsp;java.net.http.HttpRequest;import&amp;nbsp;java.net.http.HttpResponse;import&amp;nbsp;java.net.URLEncoder;import&amp;nbsp;java.nio.charset.StandardCharsets;/**
&amp;nbsp;*&amp;nbsp;万邦&amp;nbsp;API&amp;nbsp;获取推荐商品列表
&amp;nbsp;*/public&amp;nbsp;class&amp;nbsp;OneBoundRecommendClient&amp;nbsp;{

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;final&amp;nbsp;String&amp;nbsp;API_URL&amp;nbsp;=&amp;nbsp;&amp;quot;https://api-gw.onebound.cn/taobao/item_recommend&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;final&amp;nbsp;String&amp;nbsp;API_KEY&amp;nbsp;=&amp;nbsp;&amp;quot;your_api_key&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;final&amp;nbsp;String&amp;nbsp;API_SECRET&amp;nbsp;=&amp;nbsp;&amp;quot;your_api_secret&amp;quot;;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(String[]&amp;nbsp;args)&amp;nbsp;throws&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;&amp;nbsp;String&amp;nbsp;type&amp;nbsp;=&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;url&amp;nbsp;=&amp;nbsp;String.format(
&amp;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;%s/?key=%s&amp;amp;secret=%s&amp;amp;type=%s&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;API_URL,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;API_KEY,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;API_SECRET,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;URLEncoder.encode(type,&amp;nbsp;StandardCharsets.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;&amp;nbsp;&amp;nbsp;&amp;nbsp;HttpClient&amp;nbsp;client&amp;nbsp;=&amp;nbsp;HttpClient.newHttpClient();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HttpRequest&amp;nbsp;request&amp;nbsp;=&amp;nbsp;HttpRequest.newBuilder()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.uri(URI.create(url))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.header(&amp;quot;Accept-Encoding&amp;quot;,&amp;nbsp;&amp;quot;gzip&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;.GET()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;HttpResponse&amp;lt;String&amp;gt;&amp;nbsp;response&amp;nbsp;=&amp;nbsp;client.send(request,&amp;nbsp;HttpResponse.BodyHandlers.ofString());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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.statusCode()&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;System.out.println(&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;System.out.println(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;Gson/Jackson&amp;nbsp;解析&amp;nbsp;JSON
&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;System.err.println(&amp;quot;请求失败，状态码:&amp;nbsp;&amp;quot;&amp;nbsp;+&amp;nbsp;response.statusCode());
&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 data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;五、关键注意事项&lt;/h2&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;5.1 合规与权限&lt;/h3&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; max-width: 100%; width: max-content; position: relative; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;方案&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;适用场景&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;权限要求&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;费用&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;官方 TOP SDK&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;自有店铺管理&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;开发者认证 + 应用审核&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;大部分免费，部分按量计费&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;淘宝联盟 API&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;淘客推广&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;淘宝联盟账号 + 淘客认证&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;免费&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;第三方数据服务&lt;/span&gt;&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;公开商品检索&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;注册获取 Token&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;按调用量收费&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;5.2 限流与错误处理&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;官方 API 有严格的限流策略（如 1000 次/分钟），超出会返回 &lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;limit control&lt;/code&gt; 错误。&lt;div data-v-77c93641=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;pua-ref-renderer pua-ref-renderer--cite&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; white-space-collapse: collapse; display: inline-block;&quot;&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://developer.aliyun.com/article/1732743&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;阿里云开发者社区&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;建议：&lt;/div&gt;&lt;div data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-0c50899f=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-0c50899f=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;java&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-0c50899f=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-java&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;//&amp;nbsp;添加重试机制和限流控制public&amp;nbsp;class&amp;nbsp;ApiRetryHelper&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;&amp;lt;T&amp;gt;&amp;nbsp;T&amp;nbsp;executeWithRetry(Callable&amp;lt;T&amp;gt;&amp;nbsp;action,&amp;nbsp;int&amp;nbsp;maxRetries)&amp;nbsp;throws&amp;nbsp;Exception&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int&amp;nbsp;attempts&amp;nbsp;=&amp;nbsp;0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;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;return&amp;nbsp;action.call();
&amp;nbsp;&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;(ApiException&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;if&amp;nbsp;(e.getSubCode().contains(&amp;quot;limit&amp;quot;)&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;attempts&amp;nbsp;&amp;lt;&amp;nbsp;maxRetries)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;attempts++;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Thread.sleep(1000&amp;nbsp;*&amp;nbsp;attempts);&amp;nbsp;//&amp;nbsp;指数退避
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;throw&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;&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 data-v-5f641036=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/div&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;5.3 安全规范&lt;/h3&gt;&lt;ul start=&quot;1&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; list-style-position: initial; list-style-image: initial; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;AppSecret 绝对保密&lt;/span&gt;，不要硬编码在代码中或上传到 GitHub&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;使用环境变量或配置中心管理密钥&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;用户数据严格遵守《个人信息保护法》&lt;div data-v-77c93641=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;pua-ref-renderer pua-ref-renderer--cite&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; white-space-collapse: collapse; display: inline-block;&quot;&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://developer.aliyun.com/article/1732743&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;阿里云开发者社区&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;六、总结&lt;/h2&gt;&lt;div data-v-61ef3f71=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; max-width: 100%; width: max-content; position: relative; text-wrap-mode: wrap; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-61ef3f71=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-61ef3f71=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-61ef3f71=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-61ef3f71=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-61ef3f71=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;需求场景&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;推荐方案&lt;/th&gt;&lt;th data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;核心接口&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;管理自有店铺商品推荐&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;官方 TOP SDK&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;item.recommend.items.get&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;淘客选品/推广&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;淘宝联盟 API&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;tbk.item.recommend.get&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;通用商品搜索推荐&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;第三方 HTTP API&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;search-item-list&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-61ef3f71=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;快速原型开发&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;万邦/JustOneAPI&lt;/td&gt;&lt;td data-v-61ef3f71=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;code data-v-0c50899f=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;item_recommend&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Wed, 20 May 2026 18:23:20 +0800</pubDate></item><item><title>一文带你了解API 接口测试 | 了解 API 接口测试 | API 接口测试文档</title><link>https://jelenaapi.com/?id=112</link><description>&lt;div data-v-34d0ce4f=&quot;&quot; class=&quot;chat-content-item chat-content-item-assistant&quot; data-archer-id=&quot;19e34ae9-4e92-8f20-8000-0a4b545069b4&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 30px 0px 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; display: flex; gap: 8px; width: 780.017px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;div data-v-7811be09=&quot;&quot; data-v-34d0ce4f=&quot;&quot; class=&quot;segment segment-assistant&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; --loading: url(//statics.moonshot.cn/kimi-web-seo/assets/light.apng-DBjFoeWh.png); width: 780.017px; box-sizing: border-box; display: flex;&quot;&gt;&lt;div data-v-7811be09=&quot;&quot; class=&quot;segment-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 12px 0px 12px 16px; border: 0px; vertical-align: baseline; flex: 1 1 0%; position: relative; max-width: 100%; display: flex; min-width: 0px; align-items: flex-start; flex-direction: column;&quot;&gt;&lt;div data-v-7811be09=&quot;&quot; class=&quot;segment-content&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; display: flex; border-radius: 12px; flex-flow: column; box-sizing: border-box; width: 720.035px; position: relative; letter-spacing: 0px;&quot;&gt;&lt;div data-v-7811be09=&quot;&quot; class=&quot;segment-content-box&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;&quot;&gt;&lt;div data-v-b3358103=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;markdown-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;&quot;&gt;&lt;div data-v-b3358103=&quot;&quot; class=&quot;markdown&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant: inherit; font-stretch: inherit; font-size: 14px; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; max-width: 100%; letter-spacing: 0.5px; position: relative;&quot;&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;一、什么是 API 接口测试&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;API（Application Programming Interface）接口测试是软件测试的一种类型，它直接对应用程序的接口进行测试，验证系统组件之间的数据交换、业务逻辑处理以及系统间的交互行为。&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;在电商系统中，API 接口测试尤为重要。电商平台涉及商品管理、订单处理、支付结算、物流跟踪、用户管理等核心模块，这些模块通过 API 进行数据交互。接口测试能够在不依赖前端 UI 的情况下，验证后端服务的正确性、稳定性和安全性。&lt;/div&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;API 接口测试的核心原理&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;API 接口测试的本质是&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;模拟客户端与服务器之间的交互&lt;/span&gt;，验证请求与响应是否符合预期。其核心流程包括：&lt;/div&gt;&lt;ol start=&quot;1&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; vertical-align: baseline; list-style-position: initial; list-style-image: initial;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;发送请求&lt;/span&gt;：通过工具或代码模拟客户端向服务器发送 HTTP 请求&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;处理请求&lt;/span&gt;：服务器接收请求并执行业务逻辑（查询数据库、调用其他服务等）&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;接收响应&lt;/span&gt;：服务器返回响应数据（JSON/XML 格式的状态码、业务数据）&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;验证结果&lt;/span&gt;：检查响应数据是否满足功能、性能及安全要求&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;例如，在测试商品搜索接口时，发送关键词&amp;quot;手机&amp;quot;的请求，验证返回的商品列表是否包含相关数据，响应时间是否在 500ms 以内，且未暴露敏感信息（如库存详情）&lt;div data-v-77c93641=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;pua-ref-renderer pua-ref-renderer--cite&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; white-space-collapse: collapse; display: inline-block;&quot;&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;http://mp.weixin.qq.com/s?__biz=MzAxMjU4NzczOA==&amp;mid=2247590219&amp;idx=1&amp;sn=0424b1c711170b6e212af6b9f2223039&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;微信公众平台&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;。&lt;/div&gt;&lt;hr style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;二、电商 API 接口的核心功能模块&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;电商 API 通常涵盖以下核心模块：&lt;/div&gt;&lt;div data-v-e7c0e5f5=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; vertical-align: baseline; max-width: 100%; width: max-content; position: relative;&quot;&gt;&lt;header data-v-e7c0e5f5=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-e7c0e5f5=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-e7c0e5f5=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-e7c0e5f5=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-e7c0e5f5=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-e7c0e5f5=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;模块&lt;/th&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;主要接口&lt;/th&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;测试重点&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;商品管理&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;商品查询、商品上架/下架、库存更新、价格修改&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;数据完整性、缓存一致性、并发库存扣减&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;订单管理&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;创建订单、订单查询、订单取消、订单状态流转&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;状态机正确性、幂等性、事务一致性&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;支付管理&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;支付下单、支付回调、退款申请、对账查询&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;签名验证、回调幂等、金额精度&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;用户管理&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;用户注册/登录、信息修改、权限查询&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;认证鉴权、敏感信息加密、Session 管理&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;物流管理&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;物流下单、轨迹查询、电子面单&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;第三方接口稳定性、数据同步延迟&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;营销促销&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;优惠券发放、满减计算、秒杀活动&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;并发控制、库存扣减、价格计算准确性&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;三、电商 API 接口测试的完整流程&lt;/h2&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;1. 测试准备：明确需求与环境&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;获取接口文档&lt;/span&gt;：详细阅读 API 接口文档，掌握接口的功能、参数要求、返回值格式、鉴权方式（如 OAuth2.0、JWT、API Key）等关键信息。这是测试的第一步，也是确保测试用例设计准确性的基础。&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;搭建测试环境&lt;/span&gt;：搭建与生产环境隔离的独立测试环境，避免测试过程对生产系统造成影响。测试环境应尽可能模拟生产环境的配置（数据库、缓存、消息队列等）。&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;准备测试数据&lt;/span&gt;：包括正常数据、边界值（如字符长度限制）、异常数据（如 SQL 注入语句）以及大量并发测试数据。&lt;/div&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;2. 设计测试用例：覆盖多场景&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;测试用例需覆盖&lt;span class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;功能、异常、性能、安全&lt;/span&gt;四大维度：&lt;/div&gt;&lt;h4 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;功能验证&lt;/h4&gt;&lt;ul start=&quot;1&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; vertical-align: baseline; list-style-position: initial; list-style-image: initial;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 8px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;正常场景&lt;/span&gt;：输入合法参数，验证返回数据正确性&lt;/div&gt;&lt;/li&gt;&lt;ul start=&quot;1&quot; style=&quot;list-style-type: square;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;示例：用户登录接口输入正确账号密码，返回 200 状态码及用户信息&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 8px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;异常场景&lt;/span&gt;：测试参数缺失、格式错误、业务规则违反等情况&lt;/div&gt;&lt;/li&gt;&lt;ul start=&quot;1&quot; style=&quot;list-style-type: square;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;示例：创建订单时商品库存不足，返回明确的错误码和提示信息&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;h4 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;安全性测试&lt;/h4&gt;&lt;ul start=&quot;1&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; vertical-align: baseline; list-style-position: initial; list-style-image: initial;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;SQL 注入&lt;/span&gt;：发送 &lt;code data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;&amp;#39; OR 1=1 --&lt;/code&gt; 作为参数，验证接口是否过滤非法字符&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;敏感信息加密&lt;/span&gt;：检查返回的手机号、身份证号是否脱敏（如显示为 &lt;code data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;138****8888&lt;/code&gt;）&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;权限控制&lt;/span&gt;：未授权访问管理员接口，验证是否返回 403 错误&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;性能测试&lt;/h4&gt;&lt;ul start=&quot;1&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; vertical-align: baseline; list-style-position: initial; list-style-image: initial;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;单接口压力测试&lt;/span&gt;：模拟 1000 并发用户调用支付接口，监控响应时间与错误率&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;链路测试&lt;/span&gt;：测试下单流程中涉及的商品查询→库存扣减→支付接口的协同性能&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;边界条件测试&lt;/h4&gt;&lt;ul start=&quot;1&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; vertical-align: baseline; list-style-position: initial; list-style-image: initial;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;输入超长字符串（如 10000 字符的商品标题）&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;输入特殊字符（如 emoji、HTML 标签、XML 实体）&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;数值边界（如价格为 0、负数、超大金额）&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;3. 执行测试与结果分析&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;使用专业工具执行测试用例，记录并分析每个 API 接口的响应时间、错误率等关键指标。对于发现的问题，使用问题跟踪工具记录并跟进，确保缺陷得到及时修复。&lt;/div&gt;&lt;hr style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;四、电商 API 测试用例设计实战&lt;/h2&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;示例 1：商品详情查询接口测试&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;接口信息&lt;/span&gt;：&lt;/div&gt;&lt;ul start=&quot;1&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; vertical-align: baseline; list-style-position: initial; list-style-image: initial;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;URL&lt;/span&gt;：&lt;code data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;GET /api/v1/goods/{goods_id}&lt;/code&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;认证&lt;/span&gt;：Header 中携带 &lt;code data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;Authorization: Bearer {token}&lt;/code&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;参数&lt;/span&gt;：&lt;code data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;goods_id&lt;/code&gt;（路径参数，必填）&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;测试用例&lt;/span&gt;：&lt;/div&gt;&lt;div data-v-e7c0e5f5=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; vertical-align: baseline; max-width: 100%; width: max-content; position: relative;&quot;&gt;&lt;header data-v-e7c0e5f5=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-e7c0e5f5=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-e7c0e5f5=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-e7c0e5f5=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-e7c0e5f5=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-e7c0e5f5=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;用例 ID&lt;/th&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;用例名称&lt;/th&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;前置条件&lt;/th&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;测试步骤&lt;/th&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;预期结果&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;TC-GOODS-001&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;正常查询商品详情&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;商品 ID 存在且状态为上架&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;1. 发送 GET 请求，携带有效 token&lt;br data-v-e7c0e5f5=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent;&quot;/&gt;2. 传入存在的 goods_id&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;1. 返回 HTTP 200&lt;br data-v-e7c0e5f5=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent;&quot;/&gt;2. 包含字段：id, title, price, stock, images&lt;br data-v-e7c0e5f5=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent;&quot;/&gt;3. 数据类型正确&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;TC-GOODS-002&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;查询不存在的商品&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;无&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;1. 发送 GET 请求&lt;br data-v-e7c0e5f5=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent;&quot;/&gt;2. 传入不存在的 goods_id&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;返回 HTTP 404，错误信息：&amp;quot;商品不存在&amp;quot;&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;TC-GOODS-003&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;未授权访问&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;无&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;1. 发送 GET 请求，不携带 token&lt;br data-v-e7c0e5f5=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent;&quot;/&gt;2. 传入有效 goods_id&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;返回 HTTP 401，错误信息：&amp;quot;未授权&amp;quot;&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;TC-GOODS-004&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;查询已下架商品&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;商品存在但状态为下架&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;1. 发送 GET 请求，携带 token&lt;br data-v-e7c0e5f5=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent;&quot;/&gt;2. 传入已下架 goods_id&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;返回 HTTP 200，但 stock 字段为 0 或标记为不可购买&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;TC-GOODS-005&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;SQL 注入测试&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;无&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;1. 发送 GET 请求&lt;br data-v-e7c0e5f5=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent;&quot;/&gt;2. goods_id 传入&amp;nbsp;&lt;code data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;1&amp;#39; OR &amp;#39;1&amp;#39;=&amp;#39;1&lt;/code&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;返回 HTTP 400 或 404，不暴露数据库错误信息&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;TC-GOODS-006&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;响应时间测试&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;无&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;1. 发送 GET 请求&lt;br data-v-e7c0e5f5=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent;&quot;/&gt;2. 记录响应时间&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;响应时间 &amp;lt; 500ms（P95）&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;示例 2：创建订单接口测试&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;接口信息&lt;/span&gt;：&lt;/div&gt;&lt;ul start=&quot;1&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; vertical-align: baseline; list-style-position: initial; list-style-image: initial;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;URL&lt;/span&gt;：&lt;code data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;POST /api/v1/orders&lt;/code&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;认证&lt;/span&gt;：Header 中携带 &lt;code data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;Authorization: Bearer {token}&lt;/code&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 8px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;请求体&lt;/span&gt;：&lt;/div&gt;&lt;div data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;&quot;&gt;&lt;header data-v-782faaad=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-782faaad=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-782faaad=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;JSON&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-782faaad=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-782faaad=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-json&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;{
&amp;nbsp;&amp;nbsp;&amp;quot;goods_id&amp;quot;:&amp;nbsp;&amp;quot;string&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;quot;sku_id&amp;quot;:&amp;nbsp;&amp;quot;string&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;quot;quantity&amp;quot;:&amp;nbsp;1,
&amp;nbsp;&amp;nbsp;&amp;quot;address_id&amp;quot;:&amp;nbsp;&amp;quot;string&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;quot;coupon_id&amp;quot;:&amp;nbsp;&amp;quot;string&amp;quot;&amp;nbsp;&amp;nbsp;//&amp;nbsp;可选}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;&quot;&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;关键测试场景&lt;/span&gt;：&lt;/div&gt;&lt;ol start=&quot;1&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; vertical-align: baseline; list-style-position: initial; list-style-image: initial;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;幂等性测试&lt;/span&gt;：使用相同的订单号重复提交，验证只创建一个订单&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;并发库存扣减&lt;/span&gt;：100 个并发请求同时购买库存为 10 的商品，验证最终库存正确且不超卖&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;优惠券叠加&lt;/span&gt;：同时使用多张优惠券，验证系统是否正确处理（通常应拒绝）&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;金额计算&lt;/span&gt;：验证商品金额 + 运费 - 优惠 = 应付金额的精度（避免浮点数计算误差）&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;hr style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;五、电商 API 高频报错与排查&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;根据 2026 年最新实践，电商 API 测试中最常见的问题包括&lt;div data-v-77c93641=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;pua-ref-renderer pua-ref-renderer--cite&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; white-space-collapse: collapse; display: inline-block;&quot;&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://developer.aliyun.com/article/1724447&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;阿里云开发者社区&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;：&lt;/div&gt;&lt;div data-v-e7c0e5f5=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; vertical-align: baseline; max-width: 100%; width: max-content; position: relative;&quot;&gt;&lt;header data-v-e7c0e5f5=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-e7c0e5f5=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-e7c0e5f5=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-e7c0e5f5=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-e7c0e5f5=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-e7c0e5f5=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;错误类型&lt;/th&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;常见原因&lt;/th&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;排查方案&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;签名错误 (sign)&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;参数未排序、密钥错误、时间戳过期、编码不一致&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;服务器时间同步 NTP；使用 OrderedDict 强制参数顺序；AppSecret 仅存储在后端&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;401/403 无权限&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;未申请接口权限、应用未审核、测试环境未切换&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;检查开放平台权限管理；确认 OAuth 授权范围&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;限流 429&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;QPS 超过平台限制&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;增加重试机制、请求排队、本地缓存&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;数据返回不完整&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;未在 fields 中指定所需字段&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;测试阶段使用全字段请求，上线前精简&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;商品 ID 不存在&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;ID 错误、商品下架、跨平台 ID 混用&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;确认商品状态；区分淘宝/京东/拼多多 ID 体系&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;六、API 接口测试文档模板&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;一份完整的 API 接口测试文档应包含以下内容&lt;div data-v-77c93641=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;pua-ref-renderer pua-ref-renderer--cite&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; white-space-collapse: collapse; display: inline-block;&quot;&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://apifox.com/apiskills/api-interface-documentation/&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;Apifox&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;：&lt;/div&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;1. 文档概述&lt;/h3&gt;&lt;ul start=&quot;1&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; vertical-align: baseline; list-style-position: initial; list-style-image: initial;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;项目名称&lt;/span&gt;：XX 电商平台 API 测试文档&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;版本号&lt;/span&gt;：v1.0&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;编写日期&lt;/span&gt;：2026-05-17&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;目标读者&lt;/span&gt;：测试工程师、开发工程师、产品经理&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;文档目的&lt;/span&gt;：建立统一的接口测试规范，确保 API 质量&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;2. 接口清单&lt;/h3&gt;&lt;div data-v-e7c0e5f5=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; vertical-align: baseline; max-width: 100%; width: max-content; position: relative;&quot;&gt;&lt;header data-v-e7c0e5f5=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-e7c0e5f5=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-e7c0e5f5=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-e7c0e5f5=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-e7c0e5f5=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-e7c0e5f5=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;序号&lt;/th&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;模块&lt;/th&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;接口名称&lt;/th&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;请求方法&lt;/th&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;接口路径&lt;/th&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;优先级&lt;/th&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;测试状态&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;1&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;商品&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;商品详情查询&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;GET&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;/api/v1/goods/{id}&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;P0&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;待测试&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;2&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;订单&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;创建订单&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;POST&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;/api/v1/orders&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;P0&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;待测试&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;3&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;支付&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;支付下单&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;POST&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;/api/v1/pay/create&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;P0&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;待测试&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;3. 测试环境配置&lt;/h3&gt;&lt;ul start=&quot;1&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; vertical-align: baseline; list-style-position: initial; list-style-image: initial;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;测试环境地址&lt;/span&gt;：&lt;code data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;https://api-test.example.com&lt;/code&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;数据库&lt;/span&gt;：MySQL 8.0（测试库）&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;缓存&lt;/span&gt;：Redis 6.0&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 8px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;测试账号&lt;/span&gt;：&lt;/div&gt;&lt;/li&gt;&lt;ul start=&quot;1&quot; style=&quot;list-style-type: square;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;普通用户：&lt;code data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;test_user_001&lt;/code&gt; / &lt;code data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;password123&lt;/code&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;管理员：&lt;code data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;test_admin_001&lt;/code&gt; / &lt;code data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;admin123&lt;/code&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;4. 测试用例详情&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;（按模块分组，包含完整的用例 ID、名称、前置条件、测试步骤、预期结果、实际结果、测试状态、备注）&lt;/div&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;5. 测试数据管理&lt;/h3&gt;&lt;ul start=&quot;1&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; vertical-align: baseline; list-style-position: initial; list-style-image: initial;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;数据准备脚本&lt;/span&gt;：&lt;code data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;prepare_test_data.sql&lt;/code&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;数据清理脚本&lt;/span&gt;：&lt;code data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;cleanup_test_data.sql&lt;/code&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Mock 服务&lt;/span&gt;：使用 WireMock 模拟第三方支付接口&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;6. 测试工具与框架&lt;/h3&gt;&lt;ul start=&quot;1&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; vertical-align: baseline; list-style-position: initial; list-style-image: initial;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;接口测试工具&lt;/span&gt;：Postman / Apifox / JMeter&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;自动化框架&lt;/span&gt;：pytest + requests（Python）&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;性能测试&lt;/span&gt;：JMeter / Gatling&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;持续集成&lt;/span&gt;：Jenkins / GitHub Actions&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;7. 测试报告模板&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;包含测试执行摘要、用例执行统计、缺陷统计、性能指标、风险评估、改进建议等。&lt;/div&gt;&lt;hr style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;七、自动化测试实战代码（Python）&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;以下是一个基于 pytest 的电商 API 自动化测试示例&lt;div data-v-77c93641=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;pua-ref-renderer pua-ref-renderer--cite&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; white-space-collapse: collapse; display: inline-block;&quot;&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://blog.csdn.net/APItesterCris/article/details/147469952&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;CSDN博客&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;：&lt;/div&gt;&lt;div data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;&quot;&gt;&lt;header data-v-782faaad=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-782faaad=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-782faaad=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-782faaad=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-782faaad=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;import&amp;nbsp;requestsimport&amp;nbsp;pytestimport&amp;nbsp;timefrom&amp;nbsp;datetime&amp;nbsp;import&amp;nbsp;datetime

BASE_URL&amp;nbsp;=&amp;nbsp;&amp;quot;https://api-test.example.com&amp;quot;HEADERS&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;Authorization&amp;quot;:&amp;nbsp;&amp;quot;Bearer&amp;nbsp;test_token_12345&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;Content-Type&amp;quot;:&amp;nbsp;&amp;quot;application/json&amp;quot;}class&amp;nbsp;TestGoodsAPI:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;商品接口测试类&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;test_get_goods_detail_success(self):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;测试正常获取商品详情&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;goods_id&amp;nbsp;=&amp;nbsp;&amp;quot;10086&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response&amp;nbsp;=&amp;nbsp;requests.get(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;f&amp;quot;{BASE_URL}/api/v1/goods/{goods_id}&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;headers=HEADERS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assert&amp;nbsp;response.status_code&amp;nbsp;==&amp;nbsp;200
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data&amp;nbsp;=&amp;nbsp;response.json()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assert&amp;nbsp;data[&amp;quot;id&amp;quot;]&amp;nbsp;==&amp;nbsp;goods_id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assert&amp;nbsp;&amp;quot;title&amp;quot;&amp;nbsp;in&amp;nbsp;data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assert&amp;nbsp;&amp;quot;price&amp;quot;&amp;nbsp;in&amp;nbsp;data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assert&amp;nbsp;isinstance(data[&amp;quot;price&amp;quot;],&amp;nbsp;(int,&amp;nbsp;float))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;test_get_goods_not_found(self):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;测试商品不存在场景&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response&amp;nbsp;=&amp;nbsp;requests.get(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;f&amp;quot;{BASE_URL}/api/v1/goods/999999999&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;headers=HEADERS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assert&amp;nbsp;response.status_code&amp;nbsp;==&amp;nbsp;404
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assert&amp;nbsp;&amp;quot;商品不存在&amp;quot;&amp;nbsp;in&amp;nbsp;response.json()[&amp;quot;message&amp;quot;]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;test_get_goods_performance(self):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;测试接口性能&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;start_time&amp;nbsp;=&amp;nbsp;time.time()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response&amp;nbsp;=&amp;nbsp;requests.get(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;f&amp;quot;{BASE_URL}/api/v1/goods/10086&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;headers=HEADERS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end_time&amp;nbsp;=&amp;nbsp;time.time()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assert&amp;nbsp;response.status_code&amp;nbsp;==&amp;nbsp;200
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assert&amp;nbsp;(end_time&amp;nbsp;-&amp;nbsp;start_time)&amp;nbsp;&amp;lt;&amp;nbsp;0.5&amp;nbsp;&amp;nbsp;#&amp;nbsp;响应时间小于&amp;nbsp;500msclass&amp;nbsp;TestOrderAPI:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;订单接口测试类&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;test_create_order_success(self):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;测试正常创建订单&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;payload&amp;nbsp;=&amp;nbsp;{
&amp;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;goods_id&amp;quot;:&amp;nbsp;&amp;quot;10086&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;sku_id&amp;quot;:&amp;nbsp;&amp;quot;10086-001&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;quantity&amp;quot;:&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;quot;address_id&amp;quot;:&amp;nbsp;&amp;quot;addr_001&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;response&amp;nbsp;=&amp;nbsp;requests.post(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;f&amp;quot;{BASE_URL}/api/v1/orders&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;headers=HEADERS,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;json=payload&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assert&amp;nbsp;response.status_code&amp;nbsp;==&amp;nbsp;201
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data&amp;nbsp;=&amp;nbsp;response.json()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assert&amp;nbsp;&amp;quot;order_id&amp;quot;&amp;nbsp;in&amp;nbsp;data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assert&amp;nbsp;data[&amp;quot;status&amp;quot;]&amp;nbsp;==&amp;nbsp;&amp;quot;pending_payment&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assert&amp;nbsp;data[&amp;quot;total_amount&amp;quot;]&amp;nbsp;&amp;gt;&amp;nbsp;0
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;test_create_order_insufficient_stock(self):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;测试库存不足场景&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;payload&amp;nbsp;=&amp;nbsp;{
&amp;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;goods_id&amp;quot;:&amp;nbsp;&amp;quot;10086&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;sku_id&amp;quot;:&amp;nbsp;&amp;quot;10086-001&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;quantity&amp;quot;:&amp;nbsp;99999,&amp;nbsp;&amp;nbsp;#&amp;nbsp;超大数量
&amp;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;address_id&amp;quot;:&amp;nbsp;&amp;quot;addr_001&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;response&amp;nbsp;=&amp;nbsp;requests.post(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;f&amp;quot;{BASE_URL}/api/v1/orders&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;headers=HEADERS,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;json=payload&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assert&amp;nbsp;response.status_code&amp;nbsp;==&amp;nbsp;400
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assert&amp;nbsp;&amp;quot;库存不足&amp;quot;&amp;nbsp;in&amp;nbsp;response.json()[&amp;quot;message&amp;quot;]if&amp;nbsp;__name__&amp;nbsp;==&amp;nbsp;&amp;quot;__main__&amp;quot;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pytest.main([&amp;quot;-v&amp;quot;,&amp;nbsp;&amp;quot;--tb=short&amp;quot;])&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-5f641036=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;&quot;&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;八、2026 年电商 API 测试最佳实践&lt;/h2&gt;&lt;ol start=&quot;1&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; vertical-align: baseline; list-style-position: initial; list-style-image: initial;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;先测试再上线&lt;/span&gt;：所有接口必须在官方测试环境或沙箱环境跑通后再接入生产代码&lt;div data-v-77c93641=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;pua-ref-renderer pua-ref-renderer--cite&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; white-space-collapse: collapse; display: inline-block;&quot;&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://blog.csdn.net/API15579030501/article/details/160140580&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;CSDN博客&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;/div&gt;。&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;统一字段映射&lt;/span&gt;：不同电商平台（淘宝、京东、拼多多）字段名不同，建议做一层适配层（如 &lt;code data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;price&lt;/code&gt;/&lt;code data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;pic_url&lt;/code&gt;/&lt;code data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;sku_id&lt;/code&gt; 统一映射）。&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;异常必捕获&lt;/span&gt;：网络超时、签名失败、限流、返回空值等异常情况都必须有处理逻辑，避免系统崩溃。&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;缓存必加&lt;/span&gt;：商品数据建议设置 5-15 分钟缓存，大幅降低 API 调用量，提升响应速度。&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;权限最小化&lt;/span&gt;：只申请业务需要的接口权限，更安全且过审更快。&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;监控与告警&lt;/span&gt;：使用 Prometheus + Grafana 监控接口调用成功率、响应时间、错误率，设置告警阈值。&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;数据安全&lt;/span&gt;：买家手机号、地址等信息需加密存储，不可明文展示或泄露；支付相关接口必须使用 HTTPS。&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;hr style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;九、推荐工具清单&lt;/h2&gt;&lt;div data-v-e7c0e5f5=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; vertical-align: baseline; max-width: 100%; width: max-content; position: relative;&quot;&gt;&lt;header data-v-e7c0e5f5=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-e7c0e5f5=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-e7c0e5f5=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-e7c0e5f5=&quot;&quot; class=&quot;icon-button table-actions-icon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px 4px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-e7c0e5f5=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-e7c0e5f5=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;工具类型&lt;/th&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;推荐工具&lt;/th&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;适用场景&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;接口调试&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;Postman, Apifox, Insomnia&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;手动调试、团队协作&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;自动化测试&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;pytest + requests, REST Assured&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;持续集成、回归测试&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;性能测试&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;JMeter, Gatling, k6&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;压力测试、负载测试&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Mock 服务&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;WireMock, MockServer&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;模拟第三方接口&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;监控告警&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;Prometheus + Grafana&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;线上接口监控&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;CI/CD&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;Jenkins, GitHub Actions, GitLab CI&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;自动化流水线&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;通过系统化的 API 接口测试，可以有效保障电商系统的稳定性、安全性和用户体验。在实际项目中，建议根据业务特点制定详细的测试计划，并持续优化测试用例库，以应对电商领域快速变化的业务需求和技术挑战。&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-34d0ce4f=&quot;&quot; class=&quot;okc-cards-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; flex-wrap: wrap; gap: 16px;&quot;&gt;&lt;/div&gt;&lt;div data-v-c32697f1=&quot;&quot; data-v-7811be09=&quot;&quot; class=&quot;segment-assistant-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 8px 0px 0px; padding: 0px; border: 0px; vertical-align: baseline; width: 720.035px; height: 28px; display: flex; gap: 8px; transition: opacity 0.2s; justify-content: space-between; opacity: 0;&quot;&gt;&lt;div data-v-c32697f1=&quot;&quot; class=&quot;segment-assistant-actions-content&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 12px; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; height: 28px; display: flex; gap: 6px; align-items: center;&quot;&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-c32697f1=&quot;&quot; class=&quot;icon-button&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-c32697f1=&quot;&quot; class=&quot;icon-button&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Refresh&quot;&gt;&lt;path d=&quot;M303.104 315.392c114.688-114.688 303.104-114.688 417.792 0l-32.768 32.768c-20.48 20.48-4.096 57.344 24.576 57.344h118.784c16.384 0 32.768-16.384 32.768-32.768V253.952c0-28.672-36.864-45.056-57.344-24.576l-32.768 32.768c-143.36-143.36-376.832-143.36-520.192 0s-143.36 376.832 0 520.192 376.832 143.36 520.192 0c49.152-49.152 77.824-106.496 94.208-163.84 4.096-20.48-8.192-40.96-24.576-45.056-20.48-4.096-40.96 8.192-45.056 24.576-12.288 49.152-36.864 94.208-77.824 131.072-114.688 114.688-303.104 114.688-417.792 0-114.688-110.592-114.688-299.008 0-413.696z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-c32697f1=&quot;&quot; class=&quot;icon-button&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Share_a&quot;&gt;&lt;path d=&quot;M386.218667 247.850667c0-102.4 120.405333-157.397333 197.76-90.282667l304.426666 264.32a119.466667 119.466667 0 0 1 1.365334 179.285333l-304.469334 272.170667c-76.970667 68.778667-199.082667 14.122667-199.082666-89.088v-89.173333c-33.024 2.261333-59.306667 6.826667-83.2 15.36-30.592 10.88-61.866667 29.952-98.602667 67.712a76.8 76.8 0 0 1-131.84-53.504c0-98.645333 24.106667-190.976 83.712-261.888 55.253333-65.792 133.973333-104.789333 229.930667-117.845334V247.850667z m147.413333-32.256c-27.648-23.978667-70.613333-4.352-70.613333 32.256v126.208l-0.256 4.309333c-2.218667 21.504-20.437333 38.186667-42.410667 40.021333l-17.194667 1.706667c-173.994667 20.949333-253.824 136.405333-253.824 304.554667 86.997333-89.557333 163.925333-105.386667 270.933334-107.861334a42.026667 42.026667 0 0 1 42.752 42.24v125.226667c0 34.56 38.272 53.845333 65.706666 35.925333l5.376-4.096 304.426667-272.213333a42.666667 42.666667 0 0 0 2.986667-60.714667l-3.413334-3.285333-304.469333-264.277333z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-c32697f1=&quot;&quot; class=&quot;icon-button&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Like&quot;&gt;&lt;path d=&quot;M507.94496 118.70208L512 118.784c41.7792 0 88.92416 30.76096 114.36032 80.81408 25.23136 44.2368 25.64096 100.352 12.6976 159.04768h123.78112c95.4368 0 177.43872 82.98496 148.02944 178.33984l-76.96384 249.6512c-19.37408 62.79168-81.75616 102.1952-148.02944 102.1952h-298.1888a116.57216 116.57216 0 0 1-116.5312-116.57216V422.2976c0-35.2256 23.38816-61.27616 47.75936-73.85088a115.9168 115.9168 0 0 0 56.19712-62.464c7.5776-20.0704 10.60864-37.76512 13.80352-56.40192l1.35168-7.61856c3.44064-19.6608 8.35584-45.99808 26.624-67.74784 16.71168-19.94752 35.84-29.73696 55.17312-33.5872 13.27104-2.62144 27.97568-2.21184 35.88096-1.96608z m-21.54496 74.30144c-3.44064 0.69632-7.49568 2.048-13.06624 8.64256-4.01408 4.79232-6.79936 12.288-10.48576 33.1776l-1.2288 6.9632c-3.11296 18.51392-7.33184 43.13088-17.53088 70.20544a189.6448 189.6448 0 0 1-91.38176 102.03136 18.6368 18.6368 0 0 0-6.63552 5.44768c-1.14688 1.6384-1.2288 2.58048-1.2288 2.8672v349.92128c0 23.67488 19.2512 42.84416 42.88512 42.84416h298.14784c39.15776 0 69.2224-23.01952 77.57824-50.21696l76.96384-249.61024c11.18208-36.20864-18.80064-82.90304-77.57824-82.90304h-172.07296a36.864 36.864 0 0 1-35.06176-48.29184c23.3472-71.68 22.44608-120.832 6.3488-148.48a38.0928 38.0928 0 0 1-1.10592-2.048C545.30048 202.30144 520.31488 192.512 512 192.512c-2.90816 0-5.81632-0.08192-8.27392-0.12288h-0.45056a264.6016 264.6016 0 0 0-7.12704-0.12288c-4.34176 0-7.3728 0.24576-9.74848 0.73728zM184.32 385.024a36.864 36.864 0 0 1 36.864 36.864v409.6a36.864 36.864 0 1 1-73.728 0v-409.6a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-dc83c689=&quot;&quot; data-v-c32697f1=&quot;&quot; class=&quot;icon-button&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; color: rgba(0, 0, 0, 0.6); border-radius: 8px; transition: background-color 0.3s ease-in-out; width: 28px; height: 28px;&quot;&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Dislike&quot;&gt;&lt;path d=&quot;M516.096 905.216l4.05504 0.08192c7.90528 0.24576 22.60992 0.65536 35.88096-1.96608 19.33312-3.85024 38.5024-13.63968 55.21408-33.5872 18.2272-21.74976 23.1424-48.08704 26.624-67.74784l1.31072-7.61856c3.19488-18.6368 6.22592-36.29056 13.80352-56.40192a115.9168 115.9168 0 0 1 56.19712-62.464c24.3712-12.57472 47.75936-38.58432 47.75936-73.85088V251.74016A116.57216 116.57216 0 0 0 640.36864 135.168h-298.1888c-66.23232 0-128.6144 39.40352-147.98848 102.1952l-77.0048 249.6512c-29.36832 95.35488 52.67456 178.33984 148.0704 178.33984h123.74016c-12.9024 58.65472-12.4928 114.85184 12.6976 159.08864 25.47712 49.9712 72.66304 80.77312 114.40128 80.77312z m38.66624-82.86208c-5.57056 6.59456-9.6256 7.94624-13.06624 8.64256-2.41664 0.49152-5.40672 0.73728-9.74848 0.73728-2.17088 0-4.42368 0-7.12704-0.12288h-0.45056c-2.4576-0.04096-5.36576-0.12288-8.27392-0.12288-8.31488 0-33.30048-9.74848-48.9472-41.04192a37.6832 37.6832 0 0 0-1.10592-2.048c-16.09728-27.68896-16.9984-76.8 6.3488-148.48a36.864 36.864 0 0 0-35.0208-48.29184H265.25696c-58.7776 0-88.76032-46.6944-77.57824-82.90304l77.0048-249.61024c8.35584-27.19744 38.37952-50.21696 77.53728-50.21696h298.1888c23.63392 0 42.8032 19.16928 42.8032 42.84416v349.92128c0 0.28672-0.04096 1.2288-1.2288 2.8672a18.59584 18.59584 0 0 1-6.5536 5.44768 189.6448 189.6448 0 0 0-91.42272 101.9904c-10.24 27.11552-14.41792 51.73248-17.57184 70.20544l-1.2288 7.04512c-3.6864 20.8896-6.43072 28.34432-10.4448 33.1776zM806.912 602.112a36.864 36.864 0 0 0 73.728 0v-409.6a36.864 36.864 0 1 0-73.728 0v409.6z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div data-v-c32697f1=&quot;&quot; class=&quot;actions-line&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 8px; padding: 0px; border: 0px; vertical-align: baseline; width: 1px; height: 14px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.13);&quot;&gt;&lt;/div&gt;&lt;div data-v-2da63f08=&quot;&quot; data-v-c32697f1=&quot;&quot; class=&quot;ref-action&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 18px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; display: flex; align-items: center; border-radius: 8px; gap: 4px; color: rgba(0, 0, 0, 0.6); cursor: pointer;&quot;&gt;&lt;div data-v-17ce8089=&quot;&quot; data-v-2da63f08=&quot;&quot; class=&quot;favicon-icons&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; align-items: center;&quot;&gt;&lt;span data-v-0fac845b=&quot;&quot; data-v-17ce8089=&quot;&quot; class=&quot;image-wrapper favicon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 1.11111px; border-style: solid; border-color: #FFFFFF; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; display: inline-block; background-repeat: no-repeat; background-size: cover; overflow: hidden; width: 14px; height: 14px; border-radius: 50%;&quot;&gt;&lt;img data-v-0fac845b=&quot;&quot; class=&quot;image-main&quot; loading=&quot;lazy&quot; alt=&quot;&quot; src=&quot;https://kimi-web-img.moonshot.cn/prod-data/icon-cache-img/mp.weixin.qq.com&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; text-indent: -200%; width: 13.9931px; height: 13.9931px; border-radius: inherit; display: block;&quot;/&gt;&lt;/span&gt;&lt;span data-v-0fac845b=&quot;&quot; data-v-17ce8089=&quot;&quot; class=&quot;image-wrapper favicon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px -6px; padding: 0px; border-width: 1.11111px; border-style: solid; border-color: #FFFFFF; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; display: inline-block; background-repeat: no-repeat; background-size: cover; overflow: hidden; width: 14px; height: 14px; border-radius: 50%;&quot;&gt;&lt;img data-v-0fac845b=&quot;&quot; class=&quot;image-main&quot; loading=&quot;lazy&quot; alt=&quot;&quot; src=&quot;https://kimi-web-img.moonshot.cn/prod-data/icon-cache-img/developer.aliyun.com&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; text-indent: -200%; width: 13.9931px; height: 13.9931px; border-radius: inherit; display: block;&quot;/&gt;&lt;/span&gt;&lt;span data-v-0fac845b=&quot;&quot; data-v-17ce8089=&quot;&quot; class=&quot;image-wrapper favicon&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 0px -6px; padding: 0px; border-width: 1.11111px; border-style: solid; border-color: #FFFFFF; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; display: inline-block; background-repeat: no-repeat; background-size: cover; overflow: hidden; width: 14px; height: 14px; border-radius: 50%;&quot;&gt;&lt;img data-v-0fac845b=&quot;&quot; class=&quot;image-main&quot; loading=&quot;lazy&quot; alt=&quot;&quot; src=&quot;https://kimi-web-img.moonshot.cn/prod-data/icon-cache-img/blog.csdn.net&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; text-indent: -200%; width: 13.9931px; height: 13.9931px; border-radius: inherit; display: block;&quot;/&gt;&lt;/span&gt;&lt;/div&gt;引用&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-34d0ce4f=&quot;&quot; class=&quot;chat-content-item chat-content-item-user&quot; data-archer-id=&quot;19e34b98-1252-8bda-8000-0a4b739bf3b0&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; display: flex; gap: 8px; width: 780.017px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;div data-v-7811be09=&quot;&quot; data-v-34d0ce4f=&quot;&quot; class=&quot;segment segment-user&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; --loading: url(//statics.moonshot.cn/kimi-web-seo/assets/light.apng-DBjFoeWh.png); width: 780.017px; box-sizing: border-box; display: flex; flex-direction: row-reverse;&quot;&gt;&lt;div data-v-7811be09=&quot;&quot; class=&quot;segment-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; flex: 1 1 0%; position: relative; max-width: 80%; display: flex; min-width: 0px; align-items: flex-end; flex-direction: column; align-self: flex-end;&quot;&gt;&lt;div data-v-7811be09=&quot;&quot; class=&quot;segment-content&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; display: flex; border-radius: 12px; flex-flow: column; box-sizing: border-box; width: fit-content; position: relative; letter-spacing: 0px; max-width: 100%; align-items: flex-end;&quot;&gt;&lt;div data-v-7811be09=&quot;&quot; class=&quot;segment-content-box&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;&quot;&gt;&lt;div data-v-996f696f=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;user-content&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 10px 12px; border: 0px; font-variant: inherit; font-stretch: inherit; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; background-color: rgb(245, 245, 245); border-radius: 12px; white-space-collapse: preserve; word-break: break-word; overflow-wrap: break-word; max-width: 100%; letter-spacing: 0px; display: inline-flex; flex-wrap: wrap; gap: 4px;&quot;&gt;google_len是什么平台&lt;/div&gt;&lt;/div&gt;&lt;div data-v-34d0ce4f=&quot;&quot; class=&quot;okc-cards-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; display: flex; flex-wrap: wrap; gap: 16px;&quot;&gt;&lt;/div&gt;&lt;div data-v-c32697f1=&quot;&quot; data-v-7811be09=&quot;&quot; class=&quot;segment-user-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 8px 0px 0px; padding: 0px; border: 0px; vertical-align: baseline; align-items: center; display: flex; gap: 6px; opacity: 0; transition: opacity 0.2s; position: absolute; right: 0px; bottom: -34px; min-width: 300px; justify-content: flex-end;&quot;&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-c32697f1=&quot;&quot; class=&quot;simple-button size-small&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Edit&quot;&gt;&lt;path d=&quot;M736.085333 222.592a46.165333 46.165333 0 0 1 65.322667 65.28L336.426667 752.938667a132.266667 132.266667 0 0 1-61.44 34.773333l-51.541334 12.885333 12.885334-51.541333a132.266667 132.266667 0 0 1 34.773333-61.44L736.085333 222.592z m32.682667-90.325333c-32.64 0-63.914667 12.970667-86.997333 36.010666L216.832 633.258667a209.066667 209.066667 0 0 0-55.04 97.152l-28.373333 113.621333a38.4 38.4 0 0 0 46.549333 46.549333l113.621333-28.416a209.066667 209.066667 0 0 0 97.152-54.997333l361.813334-361.813333 103.168-103.125334A122.965333 122.965333 0 0 0 768.768 132.266667zM512 814.933333a38.4 38.4 0 1 0 0 76.8h298.666667a38.4 38.4 0 1 0 0-76.8h-298.666667z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 12px; line-height: 18px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;编辑&lt;/span&gt;&lt;/div&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-c32697f1=&quot;&quot; class=&quot;simple-button size-small&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 12px; line-height: 18px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-c32697f1=&quot;&quot; class=&quot;simple-button size-small&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Share_a&quot;&gt;&lt;path d=&quot;M386.218667 247.850667c0-102.4 120.405333-157.397333 197.76-90.282667l304.426666 264.32a119.466667 119.466667 0 0 1 1.365334 179.285333l-304.469334 272.170667c-76.970667 68.778667-199.082667 14.122667-199.082666-89.088v-89.173333c-33.024 2.261333-59.306667 6.826667-83.2 15.36-30.592 10.88-61.866667 29.952-98.602667 67.712a76.8 76.8 0 0 1-131.84-53.504c0-98.645333 24.106667-190.976 83.712-261.888 55.253333-65.792 133.973333-104.789333 229.930667-117.845334V247.850667z m147.413333-32.256c-27.648-23.978667-70.613333-4.352-70.613333 32.256v126.208l-0.256 4.309333c-2.218667 21.504-20.437333 38.186667-42.410667 40.021333l-17.194667 1.706667c-173.994667 20.949333-253.824 136.405333-253.824 304.554667 86.997333-89.557333 163.925333-105.386667 270.933334-107.861334a42.026667 42.026667 0 0 1 42.752 42.24v125.226667c0 34.56 38.272 53.845333 65.706666 35.925333l5.376-4.096 304.426667-272.213333a42.666667 42.666667 0 0 0 2.986667-60.714667l-3.413334-3.285333-304.469333-264.277333z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 12px; line-height: 18px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;分享&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-34d0ce4f=&quot;&quot; class=&quot;chat-content-item chat-content-item-assistant&quot; data-archer-id=&quot;19e34b98-1252-8bda-8000-0a4be0fe3d62&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: rgba(0, 0, 0, 0.25) rgba(0, 0, 0, 0); margin: 30px 0px 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; display: flex; gap: 8px; width: 780.017px; color: rgba(0, 0, 0, 0.9); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;div data-v-7811be09=&quot;&quot; data-v-34d0ce4f=&quot;&quot; class=&quot;segment segment-assistant&quot; style=&quot;font: inherit; scrollbar-color: rgba(0, 0, 0, 0.25) rgba(0, 0, 0, 0); margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; --loading: url(//statics.moonshot.cn/kimi-web-seo/assets/light.apng-DBjFoeWh.png); width: 780.017px; box-sizing: border-box; display: flex;&quot;&gt;&lt;div data-v-88be9e2e=&quot;&quot; data-v-7811be09=&quot;&quot; class=&quot;segment-avatar&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;&quot;&gt;&lt;div data-v-88be9e2e=&quot;&quot; class=&quot;avatar last&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px -12px 0px 0px; padding: 0px; border: 0px; vertical-align: baseline; width: 56px; height: 56px; display: flex; align-items: center; justify-content: center; position: relative; cursor: pointer;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-7811be09=&quot;&quot; class=&quot;segment-container&quot; style=&quot;font: inherit; scrollbar-color: rgba(0, 0, 0, 0.25) rgba(0, 0, 0, 0); margin: 0px; padding: 12px 0px 12px 16px; border: 0px; vertical-align: baseline; flex: 1 1 0%; position: relative; max-width: 100%; display: flex; min-width: 0px; align-items: flex-start; flex-direction: column;&quot;&gt;&lt;div data-v-7811be09=&quot;&quot; class=&quot;segment-content&quot; style=&quot;font-family: inherit; scrollbar-color: rgba(0, 0, 0, 0.25) rgba(0, 0, 0, 0); margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; display: flex; border-radius: 12px; flex-flow: column; box-sizing: border-box; width: 720.035px; position: relative; letter-spacing: 0px;&quot;&gt;&lt;div data-v-7811be09=&quot;&quot; class=&quot;segment-content-box&quot; style=&quot;font: inherit; scrollbar-color: rgba(0, 0, 0, 0.25) rgba(0, 0, 0, 0); margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;&quot;&gt;&lt;div data-v-b3358103=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;markdown-container&quot; style=&quot;font: inherit; scrollbar-color: rgba(0, 0, 0, 0.25) rgba(0, 0, 0, 0); margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;&quot;&gt;&lt;div data-v-b3358103=&quot;&quot; class=&quot;markdown&quot; style=&quot;font-family: inherit; scrollbar-color: rgba(0, 0, 0, 0.25) rgba(0, 0, 0, 0); margin: 0px; padding: 0px; border: 0px; font-variant: inherit; font-stretch: inherit; font-size: 14px; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; max-width: 100%; letter-spacing: 0.5px; position: relative;&quot;&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;根据我的了解，&amp;quot;Google_LEN&amp;quot; 或 &amp;quot;Google Len&amp;quot; 并非 Google 官方推出的标准平台或产品名称。可能存在以下几种情况：&lt;/div&gt;&lt;ol start=&quot;1&quot; style=&quot;font: inherit; scrollbar-color: rgba(0, 0, 0, 0.25) rgba(0, 0, 0, 0); margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; vertical-align: baseline; list-style-position: initial; list-style-image: initial;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 8px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;拼写或记忆偏差&lt;/span&gt;：您可能指的是：&lt;/div&gt;&lt;/li&gt;&lt;ul start=&quot;1&quot; style=&quot;list-style-type: disc;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Google Lens&lt;/span&gt;（Google 智能镜头）：Google 开发的图像识别和视觉搜索工具，可以通过摄像头识别物体、文字、翻译语言等&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;Google Learn&lt;/span&gt; 或 Google 教育相关平台&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;某个第三方平台/工具&lt;/span&gt;的非官方简称&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 8px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;如果是 Google Lens&lt;/span&gt;：&lt;/div&gt;&lt;/li&gt;&lt;ul start=&quot;1&quot; style=&quot;list-style-type: disc;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;这是 Google 基于 AI 的视觉搜索产品&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;支持拍照识物、文字提取（OCR）、实时翻译、商品搜索等功能&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;集成在 Google App、Google Photos、Android 相机等应用中&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 8px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;如果是其他平台&lt;/span&gt;：
由于 &amp;quot;Google_LEN&amp;quot; 这个名称不够明确，我无法确定具体指代。它可能是：&lt;/div&gt;&lt;/li&gt;&lt;ul start=&quot;1&quot; style=&quot;list-style-type: disc;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;某个特定行业/公司内部的工具代号&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;某个第三方开发者基于 Google API 构建的平台&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: rgba(0, 0, 0, 0.25) rgba(0, 0, 0, 0); margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word; text-shadow: none;&quot;&gt;某个地区性或小众产品的名称&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sun, 17 May 2026 17:21:24 +0800</pubDate></item><item><title>一文详解：电商商品选品与价格监控 API 接口实战指南</title><link>https://jelenaapi.com/?id=111</link><description>&lt;div data-v-7811be09=&quot;&quot; class=&quot;segment-content-box&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;&quot;&gt;&lt;div data-v-b3358103=&quot;&quot; data-v-5f641036=&quot;&quot; class=&quot;markdown-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;&quot;&gt;&lt;div data-v-b3358103=&quot;&quot; class=&quot;markdown&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; max-width: 100%; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; position: relative;&quot;&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none;&quot;&gt;在电商运营中，&lt;span class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;选品&lt;/span&gt;和&lt;span class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;价格监控&lt;/span&gt;是核心竞争力的来源。手动翻页查价格、看库存不仅效率低，还容易错过爆款时机。本文将从架构设计、API 选型、核心代码实现到生产级部署，完整讲解如何通过 API 接口搭建一套&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;自动化选品与价格监控系统&lt;/span&gt;。&lt;/div&gt;&lt;hr style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;一、系统架构设计&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none;&quot;&gt;一套完整的选品价格监控系统通常分为五层：&lt;/div&gt;&lt;div data-v-e7c0e5f5=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; vertical-align: baseline; max-width: 100%; width: max-content; position: relative;&quot;&gt;&lt;header data-v-e7c0e5f5=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-e7c0e5f5=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-e7c0e5f5=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-e7c0e5f5=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;层级&lt;/th&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;职责&lt;/th&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;关键技术&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;数据采集层&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;对接各电商平台 API，定时抓取商品数据&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;REST API、异步请求、签名认证&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;数据清洗层&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;处理空值、格式转换、去重、异常值标记&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;数据校验、正则匹配&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;时序存储层&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;存储价格历史（时间戳 + 价格）&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;MongoDB / InfluxDB / PostgreSQL&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;分析引擎层&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;计算价格波动率、同比环比、识别异常&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;统计分析、阈值判断&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;告警与可视化&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;触发通知、展示趋势图、生成选品报表&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;Webhook、ECharts、Excel 导出&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://developer.aliyun.com/article/1672840&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;阿里云开发者社区&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;hr style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;二、API 接入方案选型&lt;/h2&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;2.1 主流平台 API 对比&lt;/h3&gt;&lt;div data-v-e7c0e5f5=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; vertical-align: baseline; max-width: 100%; width: max-content; position: relative;&quot;&gt;&lt;header data-v-e7c0e5f5=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-e7c0e5f5=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-e7c0e5f5=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-e7c0e5f5=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;平台&lt;/th&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;API 类型&lt;/th&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;核心接口&lt;/th&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;认证方式&lt;/th&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;适用场景&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;京东&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;官方 JOS / 第三方 Open Claw&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;code data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;item_get&lt;/code&gt;、&lt;code data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;item_search&lt;/code&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;AppKey + 签名 / API Key&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;自营监控、选品库搭建&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;淘宝/天猫&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;淘宝开放平台&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;code data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;taobao.item.price.get&lt;/code&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;AppKey + Token&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;淘宝联盟选品&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;亚马逊&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;Selling Partner API (SP-API)&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;code data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;getPricing&lt;/code&gt;、&lt;code data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;getCatalogItem&lt;/code&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;LWA + AWS 签名&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;跨境竞品分析&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;拼多多&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;官方 API / 第三方服务&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;商品详情接口&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;签名认证&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;百亿补贴监控&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;苏宁易购&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;开放平台&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;code data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; background-color: rgba(0, 0, 0, 0.03); border-radius: 4px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none; overflow: auto;&quot;&gt;item_search&lt;/code&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;MD5 签名&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;全渠道比价&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://blog.csdn.net/weixin_29325007/article/details/158873195&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;CSDN博客&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;2.2 接入前准备&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none;&quot;&gt;以京东为例，接入流程如下：&lt;/div&gt;&lt;ol start=&quot;1&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; vertical-align: baseline; list-style-position: initial; list-style-image: initial;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;注册开发者账号&lt;/span&gt;：在开放平台申请 AppKey 和 AppSecret&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;申请 API 权限&lt;/span&gt;：按需申请最小权限（如仅申请&amp;quot;商品价格查询&amp;quot;）&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;获取 Access Token&lt;/span&gt;：通过 OAuth 2.0 或长期 Refresh Token 获取调用凭证&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;配置白名单&lt;/span&gt;：设置服务器 IP 白名单，增强安全性&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://blog.csdn.net/weixin_29325007/article/details/158873195&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;CSDN博客&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;hr style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;三、核心功能实现&lt;/h2&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;3.1 商品数据采集模块&lt;/h3&gt;&lt;h4 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;单商品详情获取（Python 示例）&lt;/h4&gt;&lt;div data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;&quot;&gt;&lt;header data-v-782faaad=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-782faaad=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-782faaad=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-782faaad=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-782faaad=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;import&amp;nbsp;requestsimport&amp;nbsp;hashlibimport&amp;nbsp;timeclass&amp;nbsp;JDPriceCollector:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;__init__(self,&amp;nbsp;app_key,&amp;nbsp;app_secret):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.app_key&amp;nbsp;=&amp;nbsp;app_key
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.app_secret&amp;nbsp;=&amp;nbsp;app_secret
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.base_url&amp;nbsp;=&amp;nbsp;&amp;quot;https://api.jd.com/routerjson&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;_generate_sign(self,&amp;nbsp;params):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;生成京东&amp;nbsp;API&amp;nbsp;签名&amp;quot;&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;参数按&amp;nbsp;key&amp;nbsp;排序
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sorted_params&amp;nbsp;=&amp;nbsp;sorted(params.items())
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;2.&amp;nbsp;拼接&amp;nbsp;key=value
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sign_str&amp;nbsp;=&amp;nbsp;&amp;#39;&amp;#39;.join([f&amp;quot;{k}{v}&amp;quot;&amp;nbsp;for&amp;nbsp;k,&amp;nbsp;v&amp;nbsp;in&amp;nbsp;sorted_params])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;3.&amp;nbsp;首尾拼接&amp;nbsp;app_secret
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sign_str&amp;nbsp;=&amp;nbsp;f&amp;quot;{self.app_secret}{sign_str}{self.app_secret}&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;4.&amp;nbsp;MD5&amp;nbsp;加密转大写
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;hashlib.md5(sign_str.encode()).hexdigest().upper()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;get_item_price(self,&amp;nbsp;sku_id):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;获取单个&amp;nbsp;SKU&amp;nbsp;价格&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params&amp;nbsp;=&amp;nbsp;{
&amp;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;method&amp;quot;:&amp;nbsp;&amp;quot;jingdong.ware.price.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;quot;app_key&amp;quot;:&amp;nbsp;self.app_key,
&amp;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;timestamp&amp;quot;:&amp;nbsp;time.strftime(&amp;quot;%Y-%m-%d&amp;nbsp;%H:%M:%S&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;v&amp;quot;:&amp;nbsp;&amp;quot;2.0&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;skuId&amp;quot;:&amp;nbsp;sku_id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params[&amp;quot;sign&amp;quot;]&amp;nbsp;=&amp;nbsp;self._generate_sign(params)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;resp&amp;nbsp;=&amp;nbsp;requests.get(self.base_url,&amp;nbsp;params=params,&amp;nbsp;timeout=10)
&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;resp.status_code&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;return&amp;nbsp;resp.json()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except&amp;nbsp;Exception&amp;nbsp;as&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;print(f&amp;quot;请求异常:&amp;nbsp;{e}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;None#&amp;nbsp;使用示例collector&amp;nbsp;=&amp;nbsp;JDPriceCollector(&amp;quot;your_app_key&amp;quot;,&amp;nbsp;&amp;quot;your_app_secret&amp;quot;)price_data&amp;nbsp;=&amp;nbsp;collector.get_item_price(&amp;quot;100012345678&amp;quot;)&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://developer.aliyun.com/article/1672840&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;阿里云开发者社区&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;h4 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;关键词搜索选品（批量获取）&lt;/h4&gt;&lt;div data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;&quot;&gt;&lt;header data-v-782faaad=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-782faaad=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-782faaad=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-782faaad=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-782faaad=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;def&amp;nbsp;keyword_search(keyword,&amp;nbsp;page=1,&amp;nbsp;page_size=20,&amp;nbsp;api_key=&amp;quot;your_key&amp;quot;):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;按关键词搜索商品，筛选潜力爆款&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;url&amp;nbsp;=&amp;nbsp;&amp;quot;https://api-gw.xxx.cn/jd/item_search&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;key&amp;quot;:&amp;nbsp;api_key,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;q&amp;quot;:&amp;nbsp;keyword,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;page&amp;quot;:&amp;nbsp;page,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;page_size&amp;quot;:&amp;nbsp;page_size,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;sort&amp;quot;:&amp;nbsp;&amp;quot;salesCount_desc&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;resp&amp;nbsp;=&amp;nbsp;requests.get(url,&amp;nbsp;params=params,&amp;nbsp;timeout=10)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;resp.status_code&amp;nbsp;==&amp;nbsp;200:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;resp.json()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;items&amp;nbsp;=&amp;nbsp;result.get(&amp;quot;items&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;&amp;nbsp;filtered&amp;nbsp;=&amp;nbsp;[]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;item&amp;nbsp;in&amp;nbsp;items:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price&amp;nbsp;=&amp;nbsp;float(item.get(&amp;quot;price&amp;quot;,&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;sales&amp;nbsp;=&amp;nbsp;int(item.get(&amp;quot;sales&amp;quot;,&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;stock&amp;nbsp;=&amp;nbsp;item.get(&amp;quot;stock_status&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;筛选规则：价格50-200元，销量&amp;gt;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;if&amp;nbsp;50&amp;nbsp;&amp;lt;=&amp;nbsp;price&amp;nbsp;&amp;lt;=&amp;nbsp;200&amp;nbsp;and&amp;nbsp;sales&amp;nbsp;&amp;gt;&amp;nbsp;30&amp;nbsp;and&amp;nbsp;stock&amp;nbsp;==&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;filtered.append({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;title&amp;quot;:&amp;nbsp;item.get(&amp;quot;title&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;price&amp;quot;:&amp;nbsp;price,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;sales&amp;quot;:&amp;nbsp;sales,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;shop&amp;quot;:&amp;nbsp;item.get(&amp;quot;shop_name&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;url&amp;quot;:&amp;nbsp;item.get(&amp;quot;item_url&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&amp;nbsp;filtered&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;[]&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://juejin.cn/post/7633339824167256115&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;稀土掘金&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;3.2 价格监控与告警模块&lt;/h3&gt;&lt;h4 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;多商品批量监控&lt;/h4&gt;&lt;div data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;&quot;&gt;&lt;header data-v-782faaad=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-782faaad=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-782faaad=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-782faaad=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-782faaad=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;import&amp;nbsp;timeimport&amp;nbsp;pandas&amp;nbsp;as&amp;nbsp;pdfrom&amp;nbsp;datetime&amp;nbsp;import&amp;nbsp;datetimeclass&amp;nbsp;PriceMonitor:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;__init__(self,&amp;nbsp;collector,&amp;nbsp;storage,&amp;nbsp;alert_webhook=None):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.collector&amp;nbsp;=&amp;nbsp;collector
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.storage&amp;nbsp;=&amp;nbsp;storage
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.alert_webhook&amp;nbsp;=&amp;nbsp;alert_webhook
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.monitor_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;def&amp;nbsp;add_monitor(self,&amp;nbsp;sku_id,&amp;nbsp;target_price,&amp;nbsp;platform=&amp;quot;jd&amp;quot;):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;添加监控商品&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.monitor_list.append({
&amp;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;sku_id&amp;quot;:&amp;nbsp;sku_id,
&amp;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;target_price&amp;quot;:&amp;nbsp;target_price,
&amp;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;platform&amp;quot;:&amp;nbsp;platform&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;check_price(self,&amp;nbsp;item):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;检查单商品价格&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sku_id&amp;nbsp;=&amp;nbsp;item[&amp;quot;sku_id&amp;quot;]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;target&amp;nbsp;=&amp;nbsp;item[&amp;quot;target_price&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;data&amp;nbsp;=&amp;nbsp;self.collector.get_item_price(sku_id)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;not&amp;nbsp;data:
&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;None
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;current_price&amp;nbsp;=&amp;nbsp;float(data.get(&amp;quot;price&amp;quot;,&amp;nbsp;9999))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;title&amp;nbsp;=&amp;nbsp;data.get(&amp;quot;title&amp;quot;,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;存储历史价格
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;record&amp;nbsp;=&amp;nbsp;{
&amp;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;platform&amp;quot;:&amp;nbsp;item[&amp;quot;platform&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;sku_id&amp;quot;:&amp;nbsp;sku_id,
&amp;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;title&amp;quot;:&amp;nbsp;title,
&amp;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;price&amp;quot;:&amp;nbsp;current_price,
&amp;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;crawl_time&amp;quot;:&amp;nbsp;time.time(),
&amp;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;crawl_datetime&amp;quot;:&amp;nbsp;datetime.now()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.storage.save_price(record)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;current_price&amp;nbsp;&amp;lt;=&amp;nbsp;target:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self._send_alert(title,&amp;nbsp;current_price,&amp;nbsp;target)
&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;{&amp;quot;alert&amp;quot;:&amp;nbsp;True,&amp;nbsp;&amp;quot;price&amp;quot;:&amp;nbsp;current_price,&amp;nbsp;&amp;quot;target&amp;quot;:&amp;nbsp;target}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;{&amp;quot;alert&amp;quot;:&amp;nbsp;False,&amp;nbsp;&amp;quot;price&amp;quot;:&amp;nbsp;current_price}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;_send_alert(self,&amp;nbsp;title,&amp;nbsp;current,&amp;nbsp;target):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;发送告警通知（支持钉钉/企业微信/邮件）&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;msg&amp;nbsp;=&amp;nbsp;f&amp;quot;🚨&amp;nbsp;价格达标提醒\n商品：{title}\n当前价：¥{current}\n目标价：¥{target}&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;self.alert_webhook:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;requests.post(self.alert_webhook,&amp;nbsp;json={&amp;quot;text&amp;quot;:&amp;nbsp;msg})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(msg)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;start_monitoring(self,&amp;nbsp;interval=600):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;启动定时监控循环&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(f&amp;quot;启动监控，共&amp;nbsp;{len(self.monitor_list)}&amp;nbsp;个商品，间隔&amp;nbsp;{interval//60}&amp;nbsp;分钟&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;for&amp;nbsp;item&amp;nbsp;in&amp;nbsp;self.monitor_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;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.check_price(item)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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(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;time.sleep(interval)&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://blog.csdn.net/2301_78159247/article/details/160662817&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;CSDN博客&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;3.3 数据存储设计&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none;&quot;&gt;价格数据是典型的&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;时序数据&lt;/span&gt;，推荐使用 MongoDB 或 InfluxDB：&lt;/div&gt;&lt;div data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;&quot;&gt;&lt;header data-v-782faaad=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-782faaad=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-782faaad=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-782faaad=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-782faaad=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;from&amp;nbsp;pymongo&amp;nbsp;import&amp;nbsp;MongoClientclass&amp;nbsp;PriceStorage:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;__init__(self,&amp;nbsp;db_name=&amp;quot;price_monitor&amp;quot;):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.client&amp;nbsp;=&amp;nbsp;MongoClient(&amp;quot;mongodb://localhost:27017/&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.db&amp;nbsp;=&amp;nbsp;self.client[db_name]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.collection&amp;nbsp;=&amp;nbsp;self.db[&amp;quot;price_history&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;self.collection.create_index([
&amp;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;platform&amp;quot;,&amp;nbsp;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;quot;sku_id&amp;quot;,&amp;nbsp;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;quot;crawl_time&amp;quot;,&amp;nbsp;-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;&amp;nbsp;def&amp;nbsp;save_price(self,&amp;nbsp;price_data):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;存储单条价格记录&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.collection.insert_one(price_data)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;get_price_history(self,&amp;nbsp;platform,&amp;nbsp;sku_id,&amp;nbsp;days=7):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;获取最近&amp;nbsp;N&amp;nbsp;天价格历史&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;start_time&amp;nbsp;=&amp;nbsp;time.time()&amp;nbsp;-&amp;nbsp;days&amp;nbsp;*&amp;nbsp;24&amp;nbsp;*&amp;nbsp;3600
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;list(self.collection.find({
&amp;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;platform&amp;quot;:&amp;nbsp;platform,
&amp;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;sku_id&amp;quot;:&amp;nbsp;sku_id,
&amp;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;crawl_time&amp;quot;:&amp;nbsp;{&amp;quot;$gte&amp;quot;:&amp;nbsp;start_time}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}).sort(&amp;quot;crawl_time&amp;quot;,&amp;nbsp;1))&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://developer.aliyun.com/article/1672840&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;阿里云开发者社区&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;hr style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;四、智能选品策略引擎&lt;/h2&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;4.1 多维度筛选模型&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none;&quot;&gt;基于采集的数据，可构建自动化选品评分体系：&lt;/div&gt;&lt;div data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;&quot;&gt;&lt;header data-v-782faaad=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-782faaad=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-782faaad=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-782faaad=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-782faaad=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;def&amp;nbsp;product_scoring(item):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;商品综合评分算法&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;score&amp;nbsp;=&amp;nbsp;0
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;价格维度（50-200元为最佳转化区间）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;price&amp;nbsp;=&amp;nbsp;float(item.get(&amp;quot;price&amp;quot;,&amp;nbsp;0))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;50&amp;nbsp;&amp;lt;=&amp;nbsp;price&amp;nbsp;&amp;lt;=&amp;nbsp;200:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;score&amp;nbsp;+=&amp;nbsp;30
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;elif&amp;nbsp;200&amp;nbsp;&amp;lt;&amp;nbsp;price&amp;nbsp;&amp;lt;=&amp;nbsp;500:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;score&amp;nbsp;+=&amp;nbsp;20
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;销量维度（日销&amp;gt;30为活跃款）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sales&amp;nbsp;=&amp;nbsp;int(item.get(&amp;quot;sales&amp;quot;,&amp;nbsp;0))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;sales&amp;nbsp;&amp;gt;&amp;nbsp;1000:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;score&amp;nbsp;+=&amp;nbsp;25
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;elif&amp;nbsp;sales&amp;nbsp;&amp;gt;&amp;nbsp;100:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;score&amp;nbsp;+=&amp;nbsp;20
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;elif&amp;nbsp;sales&amp;nbsp;&amp;gt;&amp;nbsp;30:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;score&amp;nbsp;+=&amp;nbsp;15
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;评价维度
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rating&amp;nbsp;=&amp;nbsp;float(item.get(&amp;quot;rating&amp;quot;,&amp;nbsp;0))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;rating&amp;nbsp;&amp;gt;=&amp;nbsp;4.8:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;score&amp;nbsp;+=&amp;nbsp;20
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;elif&amp;nbsp;rating&amp;nbsp;&amp;gt;=&amp;nbsp;4.5:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;score&amp;nbsp;+=&amp;nbsp;15
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;库存维度
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stock&amp;nbsp;=&amp;nbsp;int(item.get(&amp;quot;stock&amp;quot;,&amp;nbsp;0))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;stock&amp;nbsp;&amp;gt;&amp;nbsp;500:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;score&amp;nbsp;+=&amp;nbsp;15
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;elif&amp;nbsp;stock&amp;nbsp;&amp;gt;&amp;nbsp;100:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;score&amp;nbsp;+=&amp;nbsp;10
&amp;nbsp;&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;item.get(&amp;quot;is_self&amp;quot;)&amp;nbsp;==&amp;nbsp;1:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;score&amp;nbsp;+=&amp;nbsp;10
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;score#&amp;nbsp;批量选品示例def&amp;nbsp;batch_select_products(keyword,&amp;nbsp;top_n=20):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;items&amp;nbsp;=&amp;nbsp;keyword_search(keyword)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;scored&amp;nbsp;=&amp;nbsp;[(item,&amp;nbsp;product_scoring(item))&amp;nbsp;for&amp;nbsp;item&amp;nbsp;in&amp;nbsp;items]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;scored.sort(key=lambda&amp;nbsp;x:&amp;nbsp;x[1],&amp;nbsp;reverse=True)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;scored[:top_n]&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://juejin.cn/post/7632902852479664154&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;稀土掘金&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;4.2 竞品对标分析&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none;&quot;&gt;通过自动关联同款商品，实现跨平台比价：&lt;/div&gt;&lt;div data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;&quot;&gt;&lt;header data-v-782faaad=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-782faaad=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-782faaad=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-782faaad=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-782faaad=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;def&amp;nbsp;cross_platform_compare(sku_mapping):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;quot;跨平台价格对比&amp;quot;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;results&amp;nbsp;=&amp;nbsp;[]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;product&amp;nbsp;in&amp;nbsp;sku_mapping:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;prices&amp;nbsp;=&amp;nbsp;{}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;platform,&amp;nbsp;sku&amp;nbsp;in&amp;nbsp;product[&amp;quot;skus&amp;quot;].items():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data&amp;nbsp;=&amp;nbsp;get_price(platform,&amp;nbsp;sku)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;prices[platform]&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;price&amp;quot;:&amp;nbsp;data[&amp;quot;price&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;stock&amp;quot;:&amp;nbsp;data[&amp;quot;stock&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;promotion&amp;quot;:&amp;nbsp;data.get(&amp;quot;coupons&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;计算价差
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;min_price&amp;nbsp;=&amp;nbsp;min(p[&amp;quot;price&amp;quot;]&amp;nbsp;for&amp;nbsp;p&amp;nbsp;in&amp;nbsp;prices.values())
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;max_price&amp;nbsp;=&amp;nbsp;max(p[&amp;quot;price&amp;quot;]&amp;nbsp;for&amp;nbsp;p&amp;nbsp;in&amp;nbsp;prices.values())
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;results.append({
&amp;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;name&amp;quot;:&amp;nbsp;product[&amp;quot;name&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;prices&amp;quot;:&amp;nbsp;prices,
&amp;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;spread&amp;quot;:&amp;nbsp;max_price&amp;nbsp;-&amp;nbsp;min_price,
&amp;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;spread_rate&amp;quot;:&amp;nbsp;(max_price&amp;nbsp;-&amp;nbsp;min_price)&amp;nbsp;/&amp;nbsp;min_price&amp;nbsp;*&amp;nbsp;100
&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;results&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://blog.csdn.net/yuweide19761218/article/details/149594361&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;CSDN博客&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;hr style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;五、生产级部署与优化&lt;/h2&gt;&lt;h3 style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;5.1 频率控制与限流处理&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none;&quot;&gt;各平台 API 均有调用限制，需实现动态等待机制：&lt;/div&gt;&lt;div data-v-e7c0e5f5=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; vertical-align: baseline; max-width: 100%; width: max-content; position: relative;&quot;&gt;&lt;header data-v-e7c0e5f5=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-e7c0e5f5=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-e7c0e5f5=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-e7c0e5f5=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;平台&lt;/th&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;默认限流&lt;/th&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;应对策略&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;京东&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;视权限等级&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;分散采集时间，错开 1-2 分钟&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;亚马逊 SP-API&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;每小时 4000 次&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;本地 Redis 缓存，重复 ASIN ≥24 小时查询&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;淘宝&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;10 次/分钟（基础版）&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;令牌桶算法平滑请求&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;&quot;&gt;&lt;header data-v-782faaad=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-782faaad=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-782faaad=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-782faaad=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-782faaad=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;from&amp;nbsp;ratelimit&amp;nbsp;import&amp;nbsp;limits,&amp;nbsp;sleep_and_retry@sleep_and_retry@limits(calls=10,&amp;nbsp;period=60)&amp;nbsp;&amp;nbsp;#&amp;nbsp;每分钟最多10次def&amp;nbsp;api_call_with_rate_limit(url,&amp;nbsp;params):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;requests.get(url,&amp;nbsp;params=params)&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://juejin.cn/post/7573239644156133403&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;稀土掘金&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;h3 style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;5.2 高可用架构设计&lt;/h3&gt;&lt;div data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;&quot;&gt;&lt;header data-v-782faaad=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-782faaad=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-782faaad=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-782faaad=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-782faaad=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;#&amp;nbsp;代理&amp;nbsp;IP&amp;nbsp;池（应对封禁）PROXY_POOL&amp;nbsp;=&amp;nbsp;[
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;http://user:pass@1.1.1.1:8080&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;http://user:pass@2.2.2.2:8081&amp;quot;]def&amp;nbsp;get_with_proxy(url,&amp;nbsp;params,&amp;nbsp;max_retry=3):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;i&amp;nbsp;in&amp;nbsp;range(max_retry):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;proxy&amp;nbsp;=&amp;nbsp;{&amp;quot;http&amp;quot;:&amp;nbsp;random.choice(PROXY_POOL)}
&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;resp&amp;nbsp;=&amp;nbsp;requests.get(url,&amp;nbsp;params=params,&amp;nbsp;proxies=proxy,&amp;nbsp;timeout=10)
&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;resp.status_code&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;return&amp;nbsp;resp.json()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except&amp;nbsp;Exception&amp;nbsp;as&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;print(f&amp;quot;第{i+1}次请求失败:&amp;nbsp;{e}&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(2&amp;nbsp;**&amp;nbsp;i)&amp;nbsp;&amp;nbsp;#&amp;nbsp;指数退避
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;None&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://cloud.tencent.com/developer/article/2591742&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;腾讯云&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 18px; line-height: 28px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;5.3 告警风暴防护&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none;&quot;&gt;避免同一商品频繁触发告警：&lt;/div&gt;&lt;div data-v-782faaad=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;segment-code&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 12px; padding: 0px; border: 0px; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;&quot;&gt;&lt;header data-v-782faaad=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-782faaad=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 8px 8px 16px; border-top: 1.11111px solid rgba(0, 0, 0, 0.13); border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: none; border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(245, 245, 245); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-782faaad=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%;&quot;&gt;Python&lt;/span&gt;&lt;div data-v-351fdc4e=&quot;&quot; data-v-92afdd37=&quot;&quot; data-v-782faaad=&quot;&quot; class=&quot;simple-button size-medium&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 4px; border: 0px; vertical-align: baseline; color: rgba(0, 0, 0, 0.6); border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;&quot;&gt;&lt;svg data-v-351fdc4e=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify simple-button-icon&quot; width=&quot;16&quot; height=&quot;16&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;span data-v-351fdc4e=&quot;&quot; class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px 2px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 20px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-efb858b9=&quot;&quot; data-v-782faaad=&quot;&quot; class=&quot;syntax-highlighter light segment-code-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; overflow: auto; border-bottom-right-radius: inherit; border-bottom-left-radius: inherit;&quot;&gt;&lt;pre data-v-efb858b9=&quot;&quot; class=&quot;language-python&quot; style=&quot;font-family: &amp;quot;Fira Code&amp;quot;, &amp;quot;Fira Mono&amp;quot;, Menlo, Consolas, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; scrollbar-color: transparent transparent; padding: 16px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: 1.5; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: rgb(26, 26, 26); direction: ltr; word-spacing: normal; word-break: normal; tab-size: 2; hyphens: none; overflow: auto; border-radius: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255);&quot;&gt;class&amp;nbsp;AlertManager:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;__init__(self,&amp;nbsp;cooldown=3600):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.cooldown&amp;nbsp;=&amp;nbsp;cooldown&amp;nbsp;&amp;nbsp;#&amp;nbsp;冷静期1小时
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.last_alert&amp;nbsp;=&amp;nbsp;{}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;记录上次告警时间
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def&amp;nbsp;should_alert(self,&amp;nbsp;sku_id):
&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;sku_id&amp;nbsp;in&amp;nbsp;self.last_alert:
&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;now&amp;nbsp;-&amp;nbsp;self.last_alert[sku_id]&amp;nbsp;&amp;lt;&amp;nbsp;self.cooldown:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;False
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.last_alert[sku_id]&amp;nbsp;=&amp;nbsp;now&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;True&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://developer.aliyun.com/article/1672840&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;阿里云开发者社区&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;hr style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;六、实战避坑指南&lt;/h2&gt;&lt;div data-v-e7c0e5f5=&quot;&quot; data-v-b3358103=&quot;&quot; class=&quot;table markdown-table&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; vertical-align: baseline; max-width: 100%; width: max-content; position: relative;&quot;&gt;&lt;header data-v-e7c0e5f5=&quot;&quot; class=&quot;table-actions&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: rgb(255, 255, 255); position: sticky; left: 0px; top: 0px;&quot;&gt;&lt;div data-v-e7c0e5f5=&quot;&quot; class=&quot;table-actions-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 5px 12px; border-width: 1.11111px 1.11111px 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: initial; border-left-style: solid; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: rgba(0, 0, 0, 0.13); border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: rgb(245, 245, 245); display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; class=&quot;table-title&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; flex: 1 1 0%; margin: 0px 10px 0px 0px !important;&quot;&gt;表格&lt;/span&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Copy&quot;&gt;&lt;path d=&quot;M725.333333 302.933333a166.4 166.4 0 0 1 166.4 166.4v256a166.4 166.4 0 0 1-166.4 166.4h-256A166.4 166.4 0 0 1 302.933333 725.333333v-256A166.4 166.4 0 0 1 469.333333 302.933333h256z m-256 76.8A89.6 89.6 0 0 0 379.733333 469.333333v256c0 49.493333 40.106667 89.6 89.6 89.6h256a89.6 89.6 0 0 0 89.6-89.6v-256A89.6 89.6 0 0 0 725.333333 379.733333h-256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M554.666667 132.266667a166.4 166.4 0 0 1 144.128 83.2 38.4 38.4 0 0 1-66.517334 38.4A89.514667 89.514667 0 0 0 554.666667 209.066667H298.666667A89.6 89.6 0 0 0 209.066667 298.666667v256c0 33.109333 17.92 62.08 44.8 77.653333a38.4 38.4 0 0 1-38.4 66.474667A166.4 166.4 0 0 1 132.266667 554.666667V298.666667A166.4 166.4 0 0 1 298.666667 132.266667h256z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;svg data-v-dc83c689=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; role=&quot;img&quot; class=&quot;iconify&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 1024 1024&quot; name=&quot;Download&quot;&gt;&lt;path d=&quot;M512 126.976a36.864 36.864 0 0 1 36.864 36.864v347.91424l119.11168-119.11168a36.864 36.864 0 1 1 52.14208 52.14208l-182.0672 182.02624a36.864 36.864 0 0 1-52.10112 0l-182.0672-182.02624a36.864 36.864 0 0 1 52.14208-52.14208l119.11168 119.11168V163.84a36.864 36.864 0 0 1 36.864-36.864zM184.32 564.71552a36.864 36.864 0 0 1 36.864 36.864v145.65376a35.96288 35.96288 0 0 0 35.96288 35.96288h509.70624a35.96288 35.96288 0 0 0 35.96288-35.96288v-145.65376a36.864 36.864 0 0 1 73.728 0v145.65376a109.69088 109.69088 0 0 1-109.69088 109.69088H257.14688A109.69088 109.69088 0 0 1 147.456 747.23328v-145.65376a36.864 36.864 0 0 1 36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/header&gt;&lt;div data-v-e7c0e5f5=&quot;&quot; class=&quot;table-container&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-top: none; border-right: 1.11111px solid rgba(0, 0, 0, 0.13); border-bottom: 1.11111px solid rgba(0, 0, 0, 0.13); border-left: 1.11111px solid rgba(0, 0, 0, 0.13); border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; width: fit-content; max-width: 100%; overflow: auto; box-sizing: border-box; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;&quot;&gt;&lt;table data-v-e7c0e5f5=&quot;&quot; width=&quot;NaN&quot;&gt;&lt;thead data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot; class=&quot;firstRow&quot;&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;问题场景&lt;/th&gt;&lt;th data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; text-align: left; max-width: 480px;&quot;&gt;解决方案&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;签名错误&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;日志记录完整参数拼接过程，用官方工具验证本地签名&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;数据缺失/重复&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;添加重试机制（最多3次），存储前按 SKU+时间戳去重&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;价格异常（如0元）&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;数据清洗时标记异常值，设置合理价格区间过滤&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;IP 被封&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;启用住宅代理池，配合请求头随机化、随机延迟 2-5 秒&lt;/td&gt;&lt;/tr&gt;&lt;tr data-v-e7c0e5f5=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border-width: 0px; border-style: initial; border-image: initial; vertical-align: baseline;&quot;&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;&lt;span data-v-e7c0e5f5=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;页面改版导致解析失败&lt;/span&gt;&lt;/td&gt;&lt;td data-v-e7c0e5f5=&quot;&quot; align=&quot;left&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding-top: 10px; padding-bottom: 10px; border-width: 1.11111px 0px 0px 1.11111px; border-right-style: initial; border-bottom-style: initial; border-top-color: rgba(0, 0, 0, 0.13); border-right-color: initial; border-bottom-color: initial; border-left-color: rgba(0, 0, 0, 0.13); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: 22px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: top; max-width: 480px;&quot;&gt;优先使用官方 API 而非网页爬虫，API 返回结构化 JSON 不受页面改版影响&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;a data-v-39bcb56b=&quot;&quot; href=&quot;https://developer.aliyun.com/article/1672840&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener nofollow&quot; class=&quot;pua-ref-cite-tag pua-ref-cite-tag--text&quot; data-site-name=&quot;阿里云开发者社区&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; -webkit-user-drag: none; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; background-color: rgba(0, 0, 0, 0.05); transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out; text-decoration-line: none; color: rgb(23, 131, 255); text-wrap-mode: nowrap;&quot;&gt;&lt;/a&gt;&lt;hr style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin-bottom: 32px; margin-top: 32px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1.11111px solid rgba(0, 0, 0, 0.13);&quot;/&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 24px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 20px; line-height: 32px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px;&quot;&gt;七、总结与扩展方向&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none;&quot;&gt;通过 API 接口实现电商选品与价格监控，核心价值在于：&lt;/div&gt;&lt;ul start=&quot;1&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; vertical-align: baseline; list-style-position: initial; list-style-image: initial;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;实时性&lt;/span&gt;：分钟级更新，捕捉转瞬即逝的价格波动&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;可扩展性&lt;/span&gt;：支持多平台、多商品，随业务需求灵活扩展&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;决策支撑&lt;/span&gt;：基于数据而非经验制定定价策略，提升竞争力&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;后续可重点优化方向&lt;/span&gt;：&lt;/div&gt;&lt;ol start=&quot;1&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 26px; border: 0px; vertical-align: baseline; list-style-position: initial; list-style-image: initial;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;竞品自动发现&lt;/span&gt;：通过商品标题分词 + 图像识别，自动匹配同款竞品&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;价格预测&lt;/span&gt;：基于 LSTM 时序模型预测未来价格走势，辅助决策&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;动态定价联动&lt;/span&gt;：监控到竞品降价后，自动调整自身促销策略&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 16px; line-height: 26px; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; text-shadow: none;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;可视化看板&lt;/span&gt;：用 Flask + ECharts 构建实时价格趋势大屏&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;如遇任何疑问或有进一步的需求，&lt;a href=&quot;https://o0b.cn/jelena&quot; target=&quot;_self&quot;&gt;请随时与我私信或者评论联系。&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description><pubDate>Fri, 15 May 2026 17:47:47 +0800</pubDate></item></channel></rss>