<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <link href="https://b.cathere.qzz.io/feed/atom" rel="self" type="application/atom+xml" />
  <title><![CDATA[猫在旁边]]></title>
  <subtitle type="html"><![CDATA[「蹦哒」猫伴我们生活、工作、观察、思考～]]></subtitle>
  <updated>2026-05-18T15:18:00Z</updated>
  <author>
    <name>MeiC</name>
  </author>
  
  <logo>https://static.quail.ink/media/0mpyvbddxx.webp</logo>
  <icon>https://static.quail.ink/media/0mpyvbddxx.webp</icon>
  <id>https://https://b.cathere.qzz.io</id>
  <generator uri="https://quaily.com" version="1.0">Quaily</generator>
  
  <entry>
    <title><![CDATA[诗｜如果停水了......]]></title>
    <link rel="alternate" type="text/html" href="https://b.cathere.qzz.io/p/a-poem-if-the-water-is-cut-off" />
    <id>https://b.cathere.qzz.io/p/a-poem-if-the-water-is-cut-off#17644</id>
    <author>
      <name>MeiC</name>
    </author>
    <published>2026-05-18T15:18:00Z</published>
    <updated>2026-05-18T15:18:00Z</updated>
    
    <content type="html">
      &lt;p&gt;如果停水了&lt;br /&gt;
一人一猫&lt;br /&gt;
窝在床上减少活动&lt;br /&gt;
收起小红须和纸团&lt;br /&gt;
减少体内水份流失&lt;br /&gt;
降低尿意&lt;/p&gt;
&lt;p&gt;如果停水了&lt;br /&gt;
恰巧&lt;br /&gt;
净水机半箱咣当&lt;br /&gt;
储水桶彻头彻尾得空&lt;br /&gt;
碗碟不敢脏&lt;br /&gt;
小麦草不敢猛吸水&lt;/p&gt;
&lt;p&gt;如果停水了&lt;br /&gt;
脑袋和眼珠子快速运转&lt;br /&gt;
一二三四五&lt;br /&gt;
怎么分配过滤水&lt;br /&gt;
猫一碗 草几喷&lt;br /&gt;
刷牙擦脸 节流到天亮&lt;/p&gt;
&lt;p&gt;如果停水了&lt;br /&gt;
恰巧&lt;br /&gt;
暴雨降至&lt;br /&gt;
我会毫不犹豫&lt;br /&gt;
拿出锅碗瓢盆&lt;br /&gt;
齐刷刷地&lt;br /&gt;
对准阳台滴水线&lt;/p&gt;
&lt;p&gt;救济水来了&lt;br /&gt;
没有从天降落&lt;br /&gt;
而是拍打着水管&lt;br /&gt;
跑来了&lt;/p&gt;
&lt;p&gt;起锅&lt;br /&gt;
熘馒头&lt;br /&gt;
猫咪舔舔面皮&lt;br /&gt;
咂吧着嘴&lt;br /&gt;
睡觉了&lt;br /&gt;
裹满辣椒油&lt;br /&gt;
一口一口&lt;br /&gt;
下肚&lt;/p&gt;

      
    </content>
    
  </entry>
  
  <entry>
    <title><![CDATA[没有完全免费的，总要付出成本]]></title>
    <link rel="alternate" type="text/html" href="https://b.cathere.qzz.io/p/there-is-no-anything-free-totally" />
    <id>https://b.cathere.qzz.io/p/there-is-no-anything-free-totally#15294</id>
    <author>
      <name>MeiC</name>
    </author>
    <published>2026-01-03T03:14:00Z</published>
    <updated>2026-01-03T03:14:00Z</updated>
    
    <content type="html">
      &lt;p&gt;2025年最后一天的晚上，我生气大吼了。&lt;/p&gt;
&lt;p&gt;其缘由是，我给爸妈家买的机顶盒送达，还没来得及远程指导连接电视，惯性思维以为看说明书就能搞定。没想到，傍晚收到我妈若干条语音。我拨回电话准备说明安装视频软件的步骤。一接通，就传来连珠炮般抱怨不好用，我说的话丝毫没有被接收，于是，我大吼了句「听我说」。&lt;/p&gt;
&lt;p&gt;我一步步确认机顶盒已连接电视、遥控器、wifi，远程指导上传安装免费看电视台直播的软件，打开软件出现电视画面。&lt;/p&gt;
&lt;p&gt;这件事才算完成，我的大吼气渐渐平静。&lt;/p&gt;
&lt;p&gt;我妈妈自己捣鼓机顶盒开机，其实已经在不知不觉中跟着提示连接好wifi。在她对电子产品的认识里，机顶盒必须用线连接路由器，才算有网络可用，没想到如今可以无线网络连接。我告诉她需要把u盘插到机顶盒的usb接口安装软件，她说usb接口已经用线连接，拔掉就没有网络了。这是矛盾的起点。&lt;/p&gt;
&lt;p&gt;讲这件事并不是抱怨我妈妈，而是想表达自己对这件事深层次的看法。&lt;/p&gt;
&lt;h3 id=&#34;heading&#34;&gt;电子产品适老化&lt;/h3&gt;
&lt;p&gt;现在普遍提倡产品适老化，尤其智能、电子产品。在这件事里，我认为当贝机顶盒产品的适老化体验有待改进。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;说明书文字再大一些、安装步骤的描述更加清晰。&lt;/li&gt;
&lt;li&gt;遥控器功能按钮有点复杂，除了通用的开关机、方向、音量、确认按键，增加的应用键、菜单键、快捷键、设置键需要看说明才能熟悉使用。&lt;/li&gt;
&lt;li&gt;系统桌面布局层级多，打开某个应用需要翻很多页面。遥控器上的应用键、快捷键可能是解决这个的方式。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;当然，这款机顶盒的主要用户群体可能是年轻人，他们能比较容易地看懂说明书、愿意花时间调试电子产品。如果给老人用，就需要别人调试好，告诉最简单的操作按钮就行。&lt;/p&gt;
&lt;h3 id=&#34;heading-1&#34;&gt;没有完全免费的&lt;/h3&gt;
&lt;p&gt;之所以买机顶盒，是因为家里的电视比较旧，已经无法直接运行应用看电视，只能作为大屏幕显示器，外接机顶盒播放电视。&lt;/p&gt;
&lt;p&gt;有多种方案可选，关键在于挑一种优缺点能接受的，愿意以某种交换方式满足自己的需求。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;从电信运营商购买：除了设备，还需要付费订阅电视服务，有师傅上门安装调试。&lt;/li&gt;
&lt;li&gt;网购机顶盒：用设备内置的应用，只需付费订阅，管理好自动续费即可。&lt;/li&gt;
&lt;li&gt;网购机顶盒：只是借用机顶盒的系统，自己寻找免费的电视、视频软件，自己调试安装。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这三种方案里，机顶盒设备是必要的，不同点在于电视视频服务的选择。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;付费订阅：是用货币交换获得电视资源服务，而且认为是值得的。&lt;/li&gt;
&lt;li&gt;自行调试：是用自己的时间成本交换获得合适的免费软件、安装维护。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;在我看来，没有完全免费的服务，薅羊毛也需要自己付出成本，只是采取了自己认为性价比高的交换方式。&lt;/p&gt;

      
    </content>
    
  </entry>
  
  <entry>
    <title><![CDATA[浮动周期提醒方法：快捷指令+提醒事项]]></title>
    <link rel="alternate" type="text/html" href="https://b.cathere.qzz.io/p/floating-interval-by-shortcuts-and-reminders" />
    <id>https://b.cathere.qzz.io/p/floating-interval-by-shortcuts-and-reminders#15271</id>
    <author>
      <name>MeiC</name>
    </author>
    <published>2026-01-01T23:04:00Z</published>
    <updated>2026-01-01T23:04:00Z</updated>
    
    <content type="html">
      &lt;p&gt;记录分享这个方法的实现过程。&lt;/p&gt;
&lt;p&gt;我的需求场景是：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;需要间隔170天提醒自己做一件事，每次做完之后，以做完的日期为起点重新间隔170天计算出下一次提醒的日期。在 iPhone 手机里实现提醒。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;起初，我想到的办法是自己在日历里记录，但是每次需要自己推算下次的提醒日期。继续想到在工作中的简道云平台通过智能助手自动计算和更新下次提醒日期。&lt;/p&gt;
&lt;p&gt;当我准备注册简道云账号时，想着要不问问AI，是否还有其他办法。&lt;/p&gt;
&lt;p&gt;gemini 首先概括性地分析了我的需求：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;这是一个非常经典的需求，在时间管理中被称为 &lt;strong&gt;“浮动周期提醒”（Floating Interval）&lt;/strong&gt;。普通的日历重复功能（如每隔170天）通常是固定的，即如果你晚做了10天，下一次提醒依然在原定的日期，这不符合你的要求。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;gemini 继续提出并分析 3 种方案：&lt;/p&gt;
&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;苹果自带应用方案：快捷指令 (Shortcuts) + 提醒事项&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;解决方法：创建一个“快捷指令”脚本。&lt;/li&gt;
&lt;li&gt;逻辑：点击指令 → 获取当前日期 → 加上170天 → 自动在提醒事项或日历中创建一个新日程。&lt;/li&gt;
&lt;li&gt;优点：免费、原生、不占空间。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;免费手机软件方案：滴答清单 (TickTick)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;简道云方案：智能助手 + 公式&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;结论：完全可行，但属于“杀鸡用牛刀”，适合需要记录历史数据的场景。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;我不需要记录历史提醒数据，也不想在内存有限的手机里多安装软件，所以选择了方案1. 接下来参考 AI 提供的步骤，实现了我需要的浮动周期提醒。&lt;/p&gt;
&lt;h3 id=&#34;heading&#34;&gt;创建提醒事项列表&lt;/h3&gt;
&lt;p&gt;第一步，在「提醒事项」app 创建「任务1」列表。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://img.cathere.qzz.io/file/1767312513818_create-task-list.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;h3 id=&#34;heading-1&#34;&gt;设计快捷指令&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;执行逻辑&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;点击快捷指令触发运行&lt;/li&gt;
&lt;li&gt;在提醒事项查找指定列表未完成的提醒&lt;/li&gt;
&lt;li&gt;把查找到的提醒事项标记为「已完成」&lt;/li&gt;
&lt;li&gt;获取当前日期&lt;/li&gt;
&lt;li&gt;在当前日期的基础上，增加170天&lt;/li&gt;
&lt;li&gt;对日期格式化：固定在某个时刻（小时、分钟）提醒&lt;/li&gt;
&lt;li&gt;添加新的提醒事项&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;接下来就一步步设计快捷指令。&lt;/p&gt;
&lt;h4 id=&#34;1&#34;&gt;1、查找提醒事项&lt;/h4&gt;
&lt;p&gt;搜索并添加「查找提醒事项」。筛选条件：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;列表是任务1&lt;/li&gt;
&lt;li&gt;未完成&lt;/li&gt;
&lt;li&gt;全部条件都满足&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;https://img.cathere.qzz.io/file/1767312528105_shortcut-find-task1.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;h4 id=&#34;2&#34;&gt;2、把未完成标记为已完成&lt;/h4&gt;
&lt;p&gt;搜索并添加「编辑提醒事项」。&lt;/p&gt;
&lt;p&gt;设置内容：将「提醒事项」的「已完成」设定为「是」。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://img.cathere.qzz.io/file/1767312547456_shortcut-task-done.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;h4 id=&#34;3&#34;&gt;3、获取当前日期&lt;/h4&gt;
&lt;p&gt;搜索添加「日期」。&lt;/p&gt;
&lt;h4 id=&#34;4&#34;&gt;4、设定浮动周期&lt;/h4&gt;
&lt;p&gt;搜索添加「调整日期」。&lt;/p&gt;
&lt;p&gt;设置内容：将获取到的「日期」「添加」「170」「天」。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://img.cathere.qzz.io/file/1767312562356_shortcut-date.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;h4 id=&#34;5&#34;&gt;5、格式化日期&lt;/h4&gt;
&lt;p&gt;搜索添加「格式化日期」。&lt;/p&gt;
&lt;p&gt;设置内容：格式化「调整后的日期」，日期格式为「自定义」，在格式化字符串修改。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://img.cathere.qzz.io/file/1767312593678_shortcut-date2.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;h4 id=&#34;6&#34;&gt;6、添加新的提醒事项&lt;/h4&gt;
&lt;p&gt;搜索选择「添加新提醒事项」。&lt;/p&gt;
&lt;p&gt;设置内容：把「任务描述」添加到「任务1」，并在「时间是」「格式化后的日期」时「提醒」。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://img.cathere.qzz.io/file/1767312603935_shortcut-create-reminder.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;为了测试是否能准确执行，可以在调整日期步骤把浮动周期改为n分钟/秒。测试没问题了再改回需要的浮动周期。&lt;/p&gt;

      
    </content>
    
  </entry>
  
  <entry>
    <title><![CDATA[迟钝的记忆]]></title>
    <link rel="alternate" type="text/html" href="https://b.cathere.qzz.io/p/when-childhood-memories-emerge" />
    <id>https://b.cathere.qzz.io/p/when-childhood-memories-emerge#15154</id>
    <author>
      <name>MeiC</name>
    </author>
    <published>2025-12-27T06:59:00Z</published>
    <updated>2025-12-27T06:59:00Z</updated>
    
    <content type="html">
      &lt;p&gt;昨日晚饭后，我们二人躺在床上闲聊，说起各自小时候的经历。&lt;/p&gt;
&lt;p&gt;除了生活环境的不同，我们对开始产生记忆的感知完全不同。队友很明确地在小时候某个时刻有「觉醒」的感觉，知道自己对周围的人、事与物开始有了记忆、意识。我呢，似乎一直处于混沌的状态，没有清晰的分界线。&lt;/p&gt;
&lt;p&gt;想在回想，我的儿时记忆是模糊的。分不清哪些记忆是经由自己的观察或经历，最终留在脑海中；哪些又是由大人不断地讲述，逐渐地刻印在我的记忆里，讲述的记忆故事不排除有夸大的成份。&lt;/p&gt;
&lt;p&gt;比如，大人们说我小时候是喝生羊奶长大的，而且是把我抱到羊的旁边，我直接吮吸羊奶，所以皮肤很白嫩。这个阶段的我还很小，不见得有记忆，这个说法只当是一个玩笑。&lt;/p&gt;
&lt;p&gt;再有一则故事：我长年在爷爷奶奶身边生活，父母在外地工作很少回来。我刚学会走路的时候，有一次我妈妈回来看我，我对眼前的这个人似乎没有记忆，当作一个陌生人。我妈妈要抱抱我，我后退躲闪；递给我零花钱，我也不肯上前接住，我妈妈把钱放在地上走了以后，我才去捡起来。&lt;/p&gt;
&lt;p&gt;如果以「画面感」来区分记忆中的故事是否属于我自己的，似乎也很难辨别。难以把现在的意识和小时候的区分开，以现在长大成人的视角，这些故事会有画面感，但大脑的记忆感、神经中枢回退不到小时候的样子，无法辨识在儿时的大脑中是否真的存在过。&lt;/p&gt;
&lt;p&gt;当然，有一些小时候的情景很明确，就是自己经历过的。这种「明确」的感觉，与上面故事的区别在于，&lt;strong&gt;没有别人的讲述、不是从别人那里获取到的&lt;/strong&gt;，是自己出于本能的一种感知记忆。&lt;/p&gt;
&lt;p&gt;随着年岁的增长、经历过一段艰难的事情，「记忆」对我而言似乎很脆弱，太容易遗忘。记忆能力如果是一根松弛有度的皮筋，或许传导记忆的神经网络就是张弛有度才有活力。那么，我的记忆能力反而是疲倦的，大概在艰难的时段里用尽了力量去回忆，天然的迟钝。&lt;/p&gt;
&lt;p&gt;如今，只能凭借外部工具以文字、图片、视频的方式辅助记忆。&lt;/p&gt;
&lt;p&gt;努力保留属于自己的记忆感知。&lt;/p&gt;

      
    </content>
    
  </entry>
  
  <entry>
    <title><![CDATA[放下手机，越来越难]]></title>
    <link rel="alternate" type="text/html" href="https://b.cathere.qzz.io/p/it-is-hard-to-put-down-phones" />
    <id>https://b.cathere.qzz.io/p/it-is-hard-to-put-down-phones#14879</id>
    <author>
      <name>MeiC</name>
    </author>
    <published>2025-12-14T04:36:00Z</published>
    <updated>2025-12-14T04:36:00Z</updated>
    
    <content type="html">
      &lt;p&gt;
&lt;figure class=&#34;quail-image-wrapper&#34; style=&#34;width: auto; height: auto; margin: 0 auto; display: block&#34;&gt;
	&lt;img src=&#34;https://img.cathere.qzz.io/file/1765688395731_s35274792.webp&#34; alt=&#34;s35274792&#34; style=&#34;width: 100%; height: auto&#34; class=&#34;quail-image&#34; /&gt;
	&lt;figcaption class=&#34;quail-image-caption&#34; style=&#34;display: block&#34;&gt;《让孩子学会放下手机》&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://book.douban.com/subject/37561594/&#34; title=&#34;《让孩子学会放下手机》&#34; rel=&#34;noopener ugc nofollow&#34;&gt;《让孩子学会放下手机》&lt;/a&gt;（胡泳，张缘 著）这本薄书目标读者是有孩子的家长，更像一本具有可操作性的数字素养家庭教育指南。因此，书里没有讲述过于复杂的研究发现，也没有用特别生僻的心理学词汇。&lt;/p&gt;
&lt;p&gt;讲的重点是如何让小孩子摆脱手机依赖，重建专注力、自控力和生活动力。然而，每个方法最核心、共同之处是“家长和孩子共同参与、家长榜样、引导”。&lt;/p&gt;
&lt;p&gt;全书分两个部分：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;让孩子学会放下手机：从管控到引导&lt;/li&gt;
&lt;li&gt;让孩子掌握数字化的力量&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;第一部分用 4 个章节分解从管控到引导的过程：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;建立真实生活与手机世界的边界&lt;/li&gt;
&lt;li&gt;从被动约束到自主决定&lt;/li&gt;
&lt;li&gt;重建在真实生活里与人的连接&lt;/li&gt;
&lt;li&gt;趣味挑战强化“不再依赖”&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;第二部分则用示例说明如何把手机作为辅助学习、创作的有利工具。&lt;/p&gt;
&lt;p&gt;指南的特点是建立了实践方法论和框架，其中的场景示例、亲子对话示例是简化过的描述，只是用来解释关键技巧，并不能直接照搬使用。&lt;/p&gt;
&lt;p&gt;对于有一定学识和空余时间的家长来说，或许能够通过看书尝试应用其中的方法，而且能根据自家亲子关系、环境情况灵活应用。&lt;/p&gt;
&lt;p&gt;还有一些家长的家庭教育观念难以转变、没有空闲时间和条件和孩子一起摆脱手机依赖。对于他们而言，连读这本书的兴趣、时间估计都没有；可能需要视频课程、一对一指导、社工介入等途径。&lt;/p&gt;
&lt;p&gt;如果仔细观察，在商场、游乐场、餐馆里会看到这样的场景：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;孩子在兴趣辅导店里听教练的指导，家长坐在门口低头刷手机。&lt;/li&gt;
&lt;li&gt;孩子在充气的游乐床上玩耍，家长在场外刷手机。&lt;/li&gt;
&lt;li&gt;玩累了，家长带孩子在餐馆吃饭，孩子在安静地吃饭，家长在一边吃一边刷手机。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;孩子放下手机有困难，大人何尝不是呢？&lt;/p&gt;

      
    </content>
    
  </entry>
  
  <entry>
    <title><![CDATA[借助 AI 搭建发票 PDF 附件转为图片的服务]]></title>
    <link rel="alternate" type="text/html" href="https://b.cathere.qzz.io/p/convert-invoice-pdf-to-image-service-by-ai" />
    <id>https://b.cathere.qzz.io/p/convert-invoice-pdf-to-image-service-by-ai#13440</id>
    <author>
      <name>MeiC</name>
    </author>
    <published>2025-10-23T15:25:00Z</published>
    <updated>2025-10-23T15:25:00Z</updated>
    
    <content type="html">
      &lt;h2 id=&#34;heading&#34;&gt;背景与目的&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;背景：简道云表单的“新增或修改数据”通过 webhook 推送过来，子表中“发票 PDF 附件”需要自动转成图片，并回填到同一条记录的“图片字段”，兼容一行多个 PDF、多行每行多个 PDF 的场景。&lt;/li&gt;
&lt;li&gt;目标：在不丢失原附件、不覆盖子表其他字段的前提下，稳定完成 PDF→PNG 转换、文件上传与子表图片字段回填，并具备可观测的日志与可维护的常驻部署。&lt;/li&gt;
&lt;li&gt;最终目的：采用简道云的自定义打印功能，把表格式申请单数据和其中的发票附件一次同时打印或下载到本地。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;heading-1&#34;&gt;总体逻辑与关键链路&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;验签：服务端按 SHA-1 验签规则校验 x-jdy-signature（content=nonce:payload:secret:timestamp），保障来源与完整性。&lt;/li&gt;
&lt;li&gt;快速 ACK + 后台异步：立即返回 200，后台执行下载→转换→上传→回填，避免简道云 5 秒超时导致重试。&lt;/li&gt;
&lt;li&gt;子表“全量合并”：必须按文档整体回写子表；先拉完整记录，保留每行的全部子字段，仅更新该行的图片字段，附件字段用有效 key 保留，避免误删。&lt;/li&gt;
&lt;li&gt;文件事务上传（v5）：每个文件都独立申请上传凭证（绑定 filename + content_type），用同一 transaction_id 完成上传与 data/update 回填，杜绝 614 “file exists”。&lt;/li&gt;
&lt;li&gt;友好命名：沿用原 PDF 的显示名作为附件 filename；图片命名用“对应 PDF 基础名 + 页序”，如 发票A_p1.png、发票B_p1.png，冲突时附短后缀重试。&lt;/li&gt;
&lt;li&gt;日志：结构化记录“入站/验签、加载与子表行数、逐行处理、PDF 转换、每文件上传、写回、错误与耗时”，便于快速排错。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;heading-2&#34;&gt;实现要点（代码层面）&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;依赖与工具&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Node 16（nvm）与 Express、node-fetch@2、form-data。&lt;/li&gt;
&lt;li&gt;PDF 转图片：Poppler 的 pdftoppm（CentOS 7 安装 poppler-utils）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;验签&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;从 query 取 nonce/timestamp，对原始请求体字符串 req.rawBody 与 secret 组合，用 SHA-1 计算；GET（连接测试）放行，POST 正式推送验签。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;子表全量合并&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;用 data/get 拉取完整值（而非 widgets），拿到子表每行的附件对象与行 _id。&lt;/li&gt;
&lt;li&gt;对每行：保留全部子字段（用 { value: 原值 } 包裹）；仅替换图片字段为新 key；附件字段设为有效 key 数组。&lt;/li&gt;
&lt;li&gt;若 data/get 返回附件没有 key/fileId，仅有 url，则逐个下载原 PDF 并用 v5 上传拿到 key，再写回。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;上传凭证“一文件一凭证”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;调用 get_upload_token(app_id, entry_id, transaction_id, filename, content_type) 为每个文件单独申请 token/url。&lt;/li&gt;
&lt;li&gt;上传时若 614，则重新申请凭证并在文件名末尾加短随机后缀重试一次。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;友好命名与文本字段同步&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;PDF：filename 使用原附件名（保留 .pdf）；图片：&amp;lt;pdf基础名&amp;gt;_p&amp;lt;页序&amp;gt;.png。&lt;/li&gt;
&lt;li&gt;同步写入子表文本字段 pdf_name、images_name；数量写入 pdf_num；行号 row_num 保留原值。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;分组命名与上传&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;将每份 PDF 的页 Buffer 分组保存（baseName + pages），按该 PDF 的 baseName 为该组页命名并上传，避免所有图片名继承同一个 PDF 名称。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;heading-3&#34;&gt;部署与网络&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;进程与端口：pdf-to-image 监听 3001（vip-card-bridge 用 3000 分离）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;反向代理（Apache 443）：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;/webhook/pdf-to-image → http://127.0.0.1:3001/webhook&lt;/li&gt;
&lt;li&gt;/webhook/vip-card → http://127.0.0.1:3000/webhook&lt;/li&gt;
&lt;li&gt;保留 SSL 与 ProxyPass/ProxyPassReverse；避免 80→443 重定向造成验签体差异。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;常驻与日志：systemd + journald&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;服务单元：WorkingDirectory=/opt/pdf-to-image；ExecStart 指向 nvm 的 node 与 server.cjs；EnvironmentFile 指向 .env；Restart=always。&lt;/li&gt;
&lt;li&gt;journald 持久化与上限：/etc/systemd/journald.conf 设置 SystemMaxUse 与 SystemMaxFileSize；journalctl –vacuum-size 或 –vacuum-time 做周期清理。&lt;/li&gt;
&lt;li&gt;不在 ExecStart 重定向日志文件，统一由 journald 接管。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;env-&#34;&gt;.env 配置（字段与密钥）&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;端口：PORT=3001。&lt;/li&gt;
&lt;li&gt;验签密钥：JIANDC_WEBHOOK_SIGNATURE_KEY=…（与简道云数据推送一致）。&lt;/li&gt;
&lt;li&gt;API：JIANDC_API_BASE=https://api.jiandaoyun.com；JIANDC_API_TOKEN=…（含文件与数据更新权限）。&lt;/li&gt;
&lt;li&gt;主表：JIANDC_APP_ID=…；JIANDC_TABLE_ID=…。&lt;/li&gt;
&lt;li&gt;子表与字段别名（按你的表单一致）：SUBFORM_FIELD_ID=sub_form；SUBFORM_PDF_FIELD_ID=invoice_pdf；SUBFORM_IMAGE_FIELD_ID=invoice_images。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;heading-4&#34;&gt;日志建议（结构化）&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;入站/验签：inbound_webhook、sig_check。&lt;/li&gt;
&lt;li&gt;加锁与加载：data_received、lock_acquired、record_loaded（hasSubform、subRowsCount）。&lt;/li&gt;
&lt;li&gt;行处理：row_start（rowId、pdfCount）。&lt;/li&gt;
&lt;li&gt;转换与上传：pdf_converted（pagesCount、timeMs）、upload_pdf_ok/upload_png_ok（filename、key、timeMs）；upload_retry_614。&lt;/li&gt;
&lt;li&gt;写回与完成：subform_update_ok（rowsUpdated、txid、timeMs）、data_done；异常：bg_error；释放锁：lock_released。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;heading-5&#34;&gt;常见问题与修复&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;404：反向代理路径不匹配或写在 80 而非 443；确保 /webhook/pdf-to-image 映射到 3001 的 /webhook。&lt;/li&gt;
&lt;li&gt;验签失败：确认 secret 一致、原始体 req.rawBody 未被中间件改写。&lt;/li&gt;
&lt;li&gt;614 “file exists”：确保每文件单独申请凭证并绑定 filename+content_type；冲突时改名重试。&lt;/li&gt;
&lt;li&gt;子表字段被清空：按“全量合并”写回，附件必须是 key 数组；图片合并旧 key；其他字段用 { value: 原值 } 包裹。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;heading-6&#34;&gt;运行流程（复盘）&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;简道云表单新增/修改 → webhook（POST，携带签名）→ Apache 443 反代 → pdf-to-image 验签与 ACK → data/get 拉取完整值 → 逐行：下载 PDF→pdftoppm 转 PNG→每文件独立凭证上传（绑定 filename+content_type）→整张子表全量合并回写（附件 key、图片 key、文本字段）→ journald 记录关键节点与耗时。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;通过以上方案，pdf-to-image 服务在复杂的子表、多文件、多页场景下保持稳定与可控，既保障了事务一致性与数据完整性，也提供了可读友好的命名与可观测的日志，适合生产环境与技术文章的复盘与分享。&lt;/p&gt;

      
    </content>
    
  </entry>
  
  <entry>
    <title><![CDATA[借助 AI 搭建会员证书自动生成和回传的服务]]></title>
    <link rel="alternate" type="text/html" href="https://b.cathere.qzz.io/p/members-data-processing-service-by-ai" />
    <id>https://b.cathere.qzz.io/p/members-data-processing-service-by-ai#13293</id>
    <author>
      <name>MeiC</name>
    </author>
    <published>2025-10-14T01:24:00Z</published>
    <updated>2025-10-14T01:24:00Z</updated>
    
    <content type="html">
      &lt;blockquote&gt;
&lt;p&gt;提要：用服务端中转 +简道云 v5 文件事务 + systemd 常驻与 journald日志，稳定实现单位/个人会员证书自动生成与回填。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;heading&#34;&gt;搭建背景&lt;/h2&gt;
&lt;p&gt;你已有证书生成页面（PHP端点）与简道云表单审批流程，原流程需人工在网页填信息再生成证书。目标是把“审核通过后自动生成证书并回填到表单附件”，同时兼容单位会员与个人会员两类证书模板，减少人工操作与重复。&lt;/p&gt;
&lt;h2 id=&#34;heading-1&#34;&gt;目的&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;在简道云的“审核通过/数据修改”触发时，自动生成电子证书并将图片作为附件写回该记录。&lt;/li&gt;
&lt;li&gt;对单位/个人会员分支自动识别与处理。&lt;/li&gt;
&lt;li&gt;将服务端改为稳定常驻运行，并具备安全（签名）、日志与维护能力。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;heading-2&#34;&gt;逻辑思路&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;用服务端中转：Webhook接收审批通过，服务端读取表单字段，调用既有PHP端点生成证书（Base64），再按简道云 v5 文件接口的“事务上传”流程上传并回填附件。&lt;/li&gt;
&lt;li&gt;单位会员分支：直接把姓名、编号、有效期以 x-www-form-urlencoded 传给单位端点生成。&lt;/li&gt;
&lt;li&gt;个人会员分支：根据“会员类型=个人”，先按“编号”查询会员基本信息表补齐字段与照片，再以 multipart/form-data 传给个人端点生成。&lt;/li&gt;
&lt;li&gt;为防止平台5秒超时重试：Webhook“快速ACK”，整条链路在后台异步执行；加幂等锁与看门狗防并发与异常残留。&lt;/li&gt;
&lt;li&gt;安全与可观测：启用 x-jdy-signature 验签（SHA1），并用 systemd+journald常驻与日志管理。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;总体数据流&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;d2&#34;&gt;&lt;?xml version=&#34;1.0&#34; encoding=&#34;utf-8&#34;?&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; xmlns:xlink=&#34;http://www.w3.org/1999/xlink&#34; data-d2-version=&#34;v0.6.9-HEAD&#34; preserveAspectRatio=&#34;xMinYMin meet&#34; viewBox=&#34;0 0 5646 501&#34;&gt;&lt;svg class=&#34;d2-2956434478 d2-svg&#34; width=&#34;5646&#34; height=&#34;501&#34; viewBox=&#34;-101 -101 5646 501&#34;&gt;&lt;rect x=&#34;-101.000000&#34; y=&#34;-101.000000&#34; width=&#34;5646.000000&#34; height=&#34;501.000000&#34; rx=&#34;0.000000&#34; fill=&#34;#FFFFFF&#34; class=&#34; fill-N7&#34; stroke-width=&#34;0&#34; /&gt;&lt;style type=&#34;text/css&#34;&gt;&lt;![CDATA[
.d2-2956434478 .text-bold {
	font-family: &#34;d2-2956434478-font-bold&#34;;
}
@font-face {
	font-family: d2-2956434478-font-bold;
	src: url(&#34;data:application/font-woff;base64,d09GRgABAAAAABRoAAoAAAAAHsQAAguFAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAAA9AAAAGAAAABgXxHXrmNtYXAAAAFUAAAA8wAAAWQJNCs/Z2x5ZgAAAkgAAAz2AAASCH58x3hoZWFkAAAPQAAAADYAAAA2G38e1GhoZWEAAA94AAAAJAAAACQKfwX/aG10eAAAD5wAAADdAAABAHf5CgBsb2NhAAAQfAAAAIIAAACCoVScjm1heHAAABEAAAAAIAAAACAAWAD3bmFtZQAAESAAAAMoAAAIKgjwVkFwb3N0AAAUSAAAAB0AAAAg/9EAMgADAioCvAAFAAACigJYAAAASwKKAlgAAAFeADIBKQAAAgsHAwMEAwICBGAAAvcAAAADAAAAAAAAAABBREJPACAAIP//Au7/BgAAA9gBESAAAZ8AAAAAAfAClAAAACAAA3iclM5JStsBHEDh75+kbdImHdN5StIpacY2adqmpVAodCGIoAtBRDyGiJfwFoIH0CCIR3ClK8EzKK4MPyHEhUvf/oOHRFqCvEwyj56SjKKSipq6hqaWto6+gd/++Oe/KTPmLFi0ZMWqtfJ6BGNVvaK6E/V3rKbNTtTypYpjeTkFpGIkG2dxGicxivPYi93YiWFsxWEcxH5sxjC2jzbGv9cv0fLFVz80tNV999EnVTWfNf00kJKWccNNt2Tl3HZHXldPR8Fd99z3wEOPFD32xFPPPPfCS6+89sZbJWUV77z3wTd9v7gAAAD//wEAAP//Gf48eAB4nIRXa3Ab13U+92KBFUHwASwWC4DEc7G7eJAAgcVi+QYf4FMAKJIWSdkUKXMkmRYpmrGoinLkuDOVojamKsdUHDpubVcTT1uP7UqjdkZNqz48iVVNlOlMZVd/ksidZtQ8GoVOmTTjoYDO7oIPKZ3JD+LOLO/e853vfuc7Z0EP+wDwDL4EOiiDKrAADSCafWZOFASWlEVZZhmdLCAzuQ9bCu98UwgRoRAR9q55XpieRrkpfOnh/FO5mZlfT7e0FN78228VLqAT3wLAxc8BcDdegTIwA1CkKPC8wBoMOkqkWIEl71e/XFVRU0GYHJ/fvnr7T4I3g2iwtTW+ICaPF87hlYdLb7wBAKCDHABuxStgBif4FWxiwmajrQaSVhcDqxMTKSnJs6xZTKhr7l5mvqM+mOjOPN833ZOKJ5K9o6db20bxiqs3HRmtIir2dnY/EULnwyzvLUxMRDgABNHiBm7Aa1ADoPfzvJRMpcSEjSF5nvUbDLTVJiZSMmNAB0e+Mrr/wkj6sC/vkNm6gchYfzBtz4+Ysl87Pv/6sOifYlyJqa7DiwHH5CHAKv4sXgGjxmwJvYEVxERKwa0Avn741eF9Fw/V1zaORqOjjbV4JXNxcfHVvlPByXz+AAdb+DJ4DTz/H74SPImVRLPBgI4f+Or+8VfG+456c47GcPbQ5FNW3jT/wP+FEsikb8rmXpw5vGg0Li4XPvZFAak45/EKmFSUZpESdRSrI+ncKvHh5e/85M/eyuKVwq9QeWGzsIyow38FpXeU3Cj1HYoReV6SRDOrE1ibjaZzX3+3gyAqV5RFX4FXCn//SvL3m+8/XEI9f5w60/xfAIDVvL6E16DqMeZVlgTtatUE0djEub17z01ov935fHd3Pm8aef3Y3NeGhl47duz1kZeWZmYWFmZmlqDEe4Oaj/UR3ll6Wyef9p/s7V3qGe5f7mjN4BVhcig7E/sBGpkVw6ByzhY3sBGvQVhFJsg2m6Y1QYji37oAhtEiIGvHS4kn2LFgtF6M7Pe18i3PZhoXw3u9HQJf3xR+oqW3ecHUED3i5v0uj8sSqIz1xlITybrwQUeNp9btNvvtT/SkJhsBgQMAU3gFSCUDVvLRrPn2NfT5NVx95szDdVD5Cxc30MdoExzAAjB+hT5ZhUQKKkDazCp1JyvyUHX8D5l9Z1cxG/J0BKTYXPP00WUj4enb4+CofKvHNJ7OT1T5BDv9tCuw8HzhR2It+zxDjRsjLjujxussbmAbvgHWkhIFlmTNIk0+dmmsXylQ1OPrdhGmE6uEK+NvnYi1Tk/wqbG6kDVo8nklfOO9rNPV/oXs/tPp5d7sl+u/a6lUeQ8UN9ANtAnOx7W+I3XGYECOnuc6+38vE+2r7WG9UjrdYI9SzdyYqe3kyOhSm5uZdmU7O3J01SFvjcaVUNxAm/gGUODd4ko9WFBEu83S1oX+cvK5lulkqNFhWF02Es5ebBcsVMTKpmKml08Pn2yvtWf/8mF33MkuWx3ftVR29w30AFax/wfaBPtjlap6lk9RkIJdJ6qyRp6+57u651v6DsYIXLhr7I1LqTg/9Y1rQp0/ZWpfGhleSqfnMhRXlhJ9B5xu1BySYpo27QBoCd9SVkUb8mN6pEWaNT/Z1RXY1+1JVtdUOE017gMH0IvH9TXSWNJkmNfrfbz7ROEPFI/1F+sxiTYhBi0wqDLDS0mFCEVM0lYKjEizpSLyC+o9KPKyGgy6XVVKlczYz6tbftk81dhH1XjtzlDzlFTn+5shsiw5Ibs8Fn9o3+TTmTODLkFwuQQhlOgQONHhM9W03XE21rUGiYqgpyZRTVgykdahoGmu3G9tGgwYq2yUpaVbHI6iW+GQEAoGQ+HCasDBVOt0dketS+OmU7lsVaNK5Ze0SZtZs4qSNHeukrV7E8MDqy5vbdCOb7x3wBGZO1i4jXypoIMpXIViEWQA+AG+g3loBQAS2uArAMVi8XvFVrinPm8vPV/ZjunGN7b9UxZJihVIuvMi8advf/B3by2m8Y3CwnduF77/z30vKPuLG8iCb0CVpkSzaN4W9r9kW1bNZXrSYDFxpqf2YvbhXcaC0HE9qcXRudAm+NQ4jKjd+iMZkttrp1LbvXGpk/INxvftXXV5uQblJ4bWOzz1kaA/vpV2Q+FqadniD22W+CvF2M3fspHw5rYJROtpd/0j/Gl1oGrqd/u6Lf1cJvNcOr2QySyk66PR+mh9famG25ZGR062ncp1dGaVUtb8px/b0CZQ4AZgdtCpsuQFhqZ27EfB6RoQnpxtnU55W536IT41Fglbg9fxX8Sd7B+d2L+crnEMfRUFts1H8Yh+tKme7wXQS7J67FZxibJo1u32CPSswdHl14yiXXG6H22bxPWvZ+0e1Shc3vjDCRTYcYmSXtBFtAmWR+5Rq16N4ZosT9ca7RWO6to2K1ofT8T1+pcIIpQofAoI6OIGegttgqDqZ6c38Vpv2j5M6UxuTFsNd+LP8F3+tMfndkWd7pbgs/ubxj1dzqSzqYn3toVmTbxn0lHDUGYbZTQFmkI9Y4J9wmoT7I7KcrYp2n1Qqy1zcQMt4CVg1FuVJFaSZVFxm13GDJNDmaz5hVOnWJfJYWQo2XRs7NZxw9mzJ26GOQMxZzBpZ7UWN9Bv0Lqis0dqwFyy438fHlh1e2t52+pyuc4zaJo7iJKFe1LI6UL9heoerg6QUm+oiNahAkDUiYzNplApy6Lu2p9f6jBSRqKMMnZeuIzWf8rlBCHH/bRQveWfeB2tq3W0+71dJ7ClmZUkL515tcFgNBBkRZn8UmNZFUmQZWTsD0+9V09WkARZTtah9ftcP88PsvfVtZ+7X6j+iO0NBnvZj9R4lQBoA60rPV2khF1hSGYnTuXaxTfrjDYjsceyx7/2yutvNpgYE1FmLRMQfrCPjtB0hN5X/GyErqPpiG1EOddUbEcP0bpSZTs6kOVHqKjEyzZflZO07OGCRvIfL/WVW4zEHnNZ64X3mMahDw3EItIHXE70n5/4ezm2j/2kUN6+P6z1TK64gX6Gz0N5qY41bdFWpYa1+VUbj21oz9EXXzyq/DmCDBN02IN2e9D07uXL77xz+fK7z3NT4+OTfv/k+PiUOm/bihvoHj4Pocf1y0pb5rA1wewM+/+TO85mXL3BWGPtYM9YR5D3y+7BupnmmdOyKPd1zpkSwYO1ASFQG7LNxngf53Y+yUeeGo332ojqXHvLaETLiQJAv8FfhDJFeZSodDmFfkrySZTSMFj67S/rEWFyViYKP//xXw8MoD3PeIbdzlRNYWHtCPpS4cLimpIDU9xAn+IvKp3+kRxU7JSPZsltx/vf/Dzf5coE482NdbWcq8uCZn9S7uPlpxo7j5mS3EEnl4g3JCotYdR55lRVeDzTezipYg0VN9B/q/wHAZDfQG4F0f32Vwq5bYWIcohWY6PPF4u52xZ6Bk52pyfduWq5lm1mdY4B18hc8zTiXP69TfFUIlz4186Xnzu1NlDvmbDUcOODXnb6SNd0UtVtW3EDfgHvQ/nWxKRFeI0XRZ4XRZMkBCUpKEjaN0o7Anhf8TRGSKUEv5/d9UrW3diMMIHZVIpPJCc/zFs7uUiQjw52jiyD0lu1WOgzLEAEAGXAoKzFImTRDPoe/gB4SKs9Nw0/V7FF4BbyoTjoAGRJpCO/vjU7q9XEEvpx8abynJF8tAl9f2V0FBD0F3MoiO8pXsFoww2jape5ne7pSU/KiYR87Zkfnj37w2f4p+/OHbs7AwgaijlUXXpHUBWv3DNtNaxMNiYSjZPpnp5r/MzdY3N3n+bVdwHBeHEWhfG3lbmdUeRkFunxO0eOrOkm8w878lD6nptFqLRHGT8l0Rw9evTOWh7/U37zm9oeT+mc+u1pVQkvaXWn8CrSWhvaKRF1LKN/1tWu13PxOKfXt3elKY+NCPB8gLB5qLW24YAkepwxNIajTm8ixQ635V2hYC7aJJYRZWJTNBsKuXZhbCrFlzTV7UyE6pgnlfSmkEhrPkBbDWyU8tIEx3EcQXup9G4wa3lXKJTdDpYLhlz5tmE2lfA6o3gMxZweUQoMt2nxK4qHUAp/pN4jJeoqbh269bbu6OY3lP/5YQo9wClFl+p3r6Q1oX+7cmX+ypWp67PXr89e1/bNoge4AcoAOE7iaJKkGQY9KCTR7Svnz1+ZvXr06unmGBFrfnSvLMmyJAiSnvYr29DtWW3X6atHNWzB4i/wKC5T9uoF2Sf5BBnRqK33tcIb6MhrvchmHjq7dHao8CtieyaFj9G6kosyH3auovVCNaDi+7gJRvEdJQ/zrmLholGOi0ZxU5hlw8qf0uaU2fMTtA7Vj/iN0jYNhoAnVOU0UkYXs+rNfXuPYV5HCCH0WYFKPSkr8bNoBj7FH4AegBIEkSQXXPpLeheauXnu3M3/AwAA//8BAAD///8UzogAAAABAAAAAguFR0gRTV8PPPUAAQPoAAAAANhdoIQAAAAA3WYvNv43/sQIbQPxAAEAAwACAAAAAAAAAAEAAAPY/u8AAAiY/jf+NwhtAAEAAAAAAAAAAAAAAAAAAABAeJw8zr8uBFEcxfHv72wixOCKNXYbkjXiz97c6EjsFLcRxdxEgrgKrcQzSHgDvXeg0XoBjcqrqDQjM4Xi5NOckxy9c84nqG5/dUvSKUEPJD0SdEfSC0mvBF2S5NmWZ6wVDlQT7ZtKNbuao7IrRiqZ6IRoQ46sbL9UEW2TOLghakbUtO/HbmPPRPtg3Z5Y1TEzLVIM5hlJLGuBQo4dOUo51uTYkGPfPLV5QqfGNNYwtR8Ky5xZ5tAy15YJltnqvWBJjsl/7tmzIRHat+6feZo/AAAA//8BAAD//9b5I1kAAAAAAAAsACwAUACEALAA1AEEAR4BQAFsAY4BzgHgAhgCSgJ2AqgC3AMCA2oDjAOYA6QDvAPYBAoELARYBIgEvATcBRgFPgVgBXwFtAXgBhAGPAZ6Bp4G0AcQByYHRgdSB14Hagd2B5AHqge8B84IDghOCFwIcAiGCJwItAjACNYI9AkEAAAAAQAAAEAAkAAMAGMABwABAAAAAAAAAAAAAAAAAAQAA3icnJTPbhtVFMZ/TmzTCsECRVW6ie6CRZHo2FRJ1TYrh9SKRRQHjwtCQkgTz/iPMp4ZeSYO4QlY8xa8RVc8BM+BWKP5fOzYBdEmipJ8d+75851zvnOBHf5mm0r1IfBHPTFcYa9+bniLB/UTw9u061uGqzyp/Wm4RlibG67zea1n+CPeVn8z/ID96k+GH7JbbRv+mGfVHcOfbDv+Mvwp+7xd4Aq84FfDFXbJDG+xw4+Gt3mExaxUeUTTcI3P2DNcZw/oM6EgZkLCCMeQCSOumBGR4xMxY8KQiBBHhxYxhb4mBEKO0X9+DfApmBEo4pgCR4xPTEDO2CL+Iq+Uc2Uc6jSzuxYFYwIu5HFJQIIjZURKQsSl4hQUZLyiQYOcgfhmFOR45EyI8UiZMaJBlzan9BkzIcfRVqSSmU/KkIJrAuV3ZlF2ZkBEQm6srkgIxdOJXyTvDqc4umSyXY98uhHhSxzfybvklsr2Kzz9ujVmm3mXbALm6mesrsS6udYEx7ot87b4VrjgFe5e/dlk8v4ehfpfKPIFV5p/qEklYpLg3C4tfCnId49xHOncwVdHvqdDnxO6vKGvc4sePVqc0afDa/l26eH4mi5nHMujI7y4a0sxZ/yA4xs6siljR9afxcQifiYzdefiOFMdUzL1vGTuqdZIFd59wuUOpRvqyOUz0B6Vlk7zS7RnASNTRSaGU/VyqY3c+heaIqaqpZzt7X25DXPbveUW35Bqh0u1LjiVk1swet9UvXc0c60fj4CQlAtZDEiZ0qDgRrzPCbgixnGs7p1oSwpaK58yz41UEjEVgw6J4szI9Dcw3fjGfbChe2dvSSj/kunlqqr7ZHHq1e2M3qh7yzvfuhytTaBhU03X1DQQ18S0H2mn1vn78s31uqU85YiUmPBfL8AzPJrsc8AhY2UY6GZur0NTL0STlxyq+ksiWQ2l58giHODxnAMOeMnzd/q4ZOKMi1txWc/d4pgjuhx+UBUL+y5HvF59+/+sv4tpU7U4nq5OL+49xSd3UOsX2rPb97KniZWTmFu02604I2BacnG76zW5x3j/AAAA//8BAAD///S3T1F4nGJgZgCD/+cYjBiwAAAAAAD//wEAAP//LwECAwAAAA==&#34;);
}
.d2-2956434478 .text-italic {
	font-family: &#34;d2-2956434478-font-italic&#34;;
}
@font-face {
	font-family: d2-2956434478-font-italic;
	src: url(&#34;data:application/font-woff;base64,d09GRgABAAAAABUQAAoAAAAAH/AAARhRAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAAA9AAAAGAAAABgW1SVeGNtYXAAAAFUAAAA8wAAAWQJNCs/Z2x5ZgAAAkgAAA2XAAATLEwcSR1oZWFkAAAP4AAAADYAAAA2G7Ur2mhoZWEAABAYAAAAJAAAACQLeAjkaG10eAAAEDwAAADoAAABAGyVBVpsb2NhAAARJAAAAIIAAACCqy6mPm1heHAAABGoAAAAIAAAACAAWAD2bmFtZQAAEcgAAAMmAAAIMgntVzNwb3N0AAAU8AAAACAAAAAg/8YAMgADAeEBkAAFAAACigJY//EASwKKAlgARAFeADIBIwAAAgsFAwMEAwkCBCAAAHcAAAADAAAAAAAAAABBREJPAAEAIP//Au7/BgAAA9gBESAAAZMAAAAAAeYClAAAACAAA3iclM5JStsBHEDh75+kbdImHdN5StIpacY2adqmpVAodCGIoAtBRDyGiJfwFoIH0CCIR3ClK8EzKK4MPyHEhUvf/oOHRFqCvEwyj56SjKKSipq6hqaWto6+gd/++Oe/KTPmLFi0ZMWqtfJ6BGNVvaK6E/V3rKbNTtTypYpjeTkFpGIkG2dxGicxivPYi93YiWFsxWEcxH5sxjC2jzbGv9cv0fLFVz80tNV999EnVTWfNf00kJKWccNNt2Tl3HZHXldPR8Fd99z3wEOPFD32xFPPPPfCS6+89sZbJWUV77z3wTd9v7gAAAD//wEAAP//Gf48eAB4nHxXCXAb13l+7+0SS4IgCWBxEBBBEFhgF8RFYBfAEgQBEATBAwR4iCJFi5cO67Rs0QctO5J8ZiRZU7v0jOrarlq5cW5nao3cdprGdZrIrWkd7jFqJ6mPThyHTqRmYnNYx8mIu523gEhQ03YGs9xZ7r7//7/3fd//P1AFXACg+9BZQIAa0AD0wAiAQDsIQhBFxkwIHMdQlMjRNOV6Ci499TKZ3fELzyu/89vJvie/M/hfO19DZ9cOwydmHn9cmjq9d+/2mzclL/z3mwAAgOQrAMB/Q4ugBugAoCmBY1mOUakgFGiGY6ifd1xSk2qStArSVXj3jsKo/pcH4aPz85FD7fH90ihaXJu/dg0AAjAAoBa0CHTAiu8FWuBNRoNKRVEm5S9DCHwsGmGZjRvm6dfnDvuyLij09h0f6pid3ZHLT93zwOx9xYGH0GK+z9/jryY1mfaBGT98uE8M8Gs3cgU+ifOGIC6vogA6B+wAVDlZNhpJIYE3mSmWZZz1yGgwmQQ+JppVKugcPBAL7ThRaB9tjNExtmOu2+XMJzzZFsY1o8k+MlQ8e7RP9La2cMm7H+lMzERbtvD2AMZGqSmmYENXVMRwAh+7XcFXnnl2/PyRiYnx49n9e2Jo8dSjR/9yb9e2F3bNHNzIM4HOAaeS5/+RpsiIAqFSQf/DJ0JTT44mRi0iLXpSu3MuppB2xWn36br34q5ZzfOPDJ092ruebMdsrFH7V13SJ81uJRbOdztaBBolW0KAAkUzBEUxTw9lCDgw+cUfjT72TAAtSm/CnlvSYbj75Afr3+1Di+UqabMQi4m0QDAEZgJFME8PveAlVfXq3ODTxbM+UtWg7kWL0vQz4XsFOL02D199VjjES+cVzDrlVTSLzgEtaKms2GQ01COOTyGMW6lyaL9vITix0JvfGwlOPJSNbk8580P4OqD54+ODiwu5nmNjg88v5LKduxfiuxYSuxc6dj68vi8BtAhqgaFyXxiC3qDW96cfyD+57WAkM7f3UKF/L1rMT4zsD0tfwr6R4bhQ2huNvAoldA54ATA7WU5UNiMaYTkOEyoWW98plcpoMJnNJSZ/mp33xG3jYudowF3wJqLTicROu2DpDbqjtrCr0BZJ7NN0dPh8fE+7izcFrQMiv5WPeILNrfbQFrbNFGjqEzumIgCCGQBQFC0CClfBiA6KIb658FYdvFL3wwVUzGbX3lA0Cjh5FX4JV4ABV27eYJEgCgQjMioVhzm0Tqk3ugr+/KzAJXUkndqVriaZST077PIb+SZXNmoPa6bGex+dFjyOpGTtd7d1Bdt+yjq9AzN8OlmKZ5dX4WdoCRix82BkGIqhBYoSFEg27aSi7xtcUkcY0s8VORNybQso4aOubLQ51OocZYIGQeNxJNHSWzttvh0TOHSXd2BGSCW97k9ZJ4DALa/Ci3AFNG2qbgP5spJ/Mny3v7gr6u80BWjWFpqIxTtaYiantajZN9Pz4Hib0xIyG3vms929Vh1vcK9jh7iKWjaw+//B69ATWra4WEZvyH0nelzL3Ftr7XfCh5RafghXgBW4K+Nh5lAO1borEYJiIbjCTyYOBganQ2KmWVMlvV3TkvXa4uZm2+hLMiL0rUx0VnNoV25+qz84wjcJ9ekRt0UnGO3QXdtY1xS2jwMIfADAZ9F1YFZ4lEaVzKUogWII33i6NqNtGEpavfot6i06R2u1brdmzzj8drxqND9WVytSat43lpImMWZQdsEVuALsIFipDFFUqZjN7FOpiE3ovRaeYFxNOU8qX29ht7UlR3wD02E2pSPo9D76wTgz6vSZwk1MRmhu+4C1Rc3OQtcB1j8xnn3oLh7zkZjbBx0+7z+zztbeyVAiUdKpHQD4E7QELIraN3hIEQyNYcRlEvbniiEt2brVn4pWpwqdJNnf1B/MoaWbSaYt0253SZeh39BYN+gNSt+WZbwm+D26iFjQCQBQgWQ/AECW5a/KHPit8jxVep7byOHXaGndW2nsrRxF2Z8r7kS/m/zxwtDMvBUtSTYIr0i/+PUDxwAEfnkV/B4tAT1GMRrBnor5XKbAvRnVseIJCHWEioJqkyats6B71p6nagg9RAmSXI+LbsAV7FE4Zql0cxkA1SYEKsHYlaZIdoztCFe1TbqTMZJMFZMk2Wfs9+cwNr2mfl8OLg+4wqLHL2Tadc2GSnw27jbwhyugsTKHO+HHEVu3Bjehr0S4E/wNT3sfroAGYKvUSclcSu21JP7rw7P+/Cw/POcfnPUGRoUYjy+aA1O5B8eDpWtX93xPd192vqe7V5lpvpAF+BlcKWmeqsi4HjGKm1H0Jv9Sn0mrCPd4UJE+z3bSSG//RqV/XUNvdNkDZeHbD5yHsGxg7C/djtv1CIpHKzGrRGwsd2hls1Kgw9GM3JPBSq8+c77SaK6dP8q2rVv1WhHCzUZd2pfjcAVoK/bFTLG396OWtBUCFuMWrdVVsCfh8ow/WdNTnU5I1wCUb8mr8ARcAdydve/O1oc7X6nxvRqesYTMXaw32doejPsH/MF8U5AWHGw41pKKhLZqIh7W7gkyVs5uTbX6Mm5Xs8dgDdibWb2z0x/oceOcO+VVOIkOr3t9TMSOJSguVeH13++KkDDeV1twZbYc05yIE03OemutTtumSQcarHVQH686eTIl3dDrm5vVVSLVgNdul1fhb+Ay9onba28oji7b/Wvraui39flzBdwgPds03aLOTsOYdJ22YJrCScmaZ8pzQgIA+DO4DOoAwMo3mcoTEnyqr+AiVSSpc9F/WJTW4LL0KTPIuAZc0CJZS9/2AoDegcvAcce3G3cEQ5Rmboo4yBS0EEKyYYv2iUEdQpCst2of7/9wrl55amt4GC5LHzt7nM4eJ2yuuLNCNdPvcvUz0hcAytcBgP9awoGhOcFcDiUKlJkpz/cU5f+PqSFvdT1FNrQ0jI8t7Rn2V+vUpNZJz0L0yWETZzS0Gg//9+cPmIImk9/8IABQ/rHcBn8Ol4EVAErhjNIUNiFSj1TqlnqLXu/OWPRjBbaqmiB1bv0fFKSPLYn+f6GoeE2SZ+Cn0m8cRYYpOKFu7fO2or+kIa+8Ct9DZ4AOo2XemOr/l+Fxie9zewd2RvleV+vAXJjLRmz+oHLVtO9J3fXnx/s69qR2vHKsN9lz/+me7Pbc/ad7urcDKP9WXoXvojPAcwfvGXHddSjutrsaS8T/QWZvs2DOh3u2b9urGZ7ieMGWtXFjMyPbB/PRRPKgJhPwOCODcaG7ozXZ7I01mYX0SHdy2kjq+vnkXWFcGyboNfQYUOOZ1cGIDhEKhEAxbkGMxTAvKTjYz0i/qoGz20bGNGOS/A+sSk+RBo/hQgS+LM2nUn9nyziaIo0lXgHsn+gxPGVv1LFeAO2gGOp2k1C9mZm18aZMu7ffn47Y/S2OEeir+1VE57X0z2Xv06QDrY6ItyikOrU6Kwx0v1mtGR8rHEkqeyLIq/AmOgMagB8A0VAZRWUwbzp5YcPeCHoswbOdjMBbhl3wYGzEFxi5tyuaM0Scnfz2dL1jm6NvXJy7nBtvy3vEjLOt1vxx+6707lePdodbWjuyx7axrsmh1KEuXKtZXgWnwWFQe1vXpRC9JgvXZGp0a5pMVr/NZPFjjv5MngaL4DD2RIrDyFZ8YKhti1PI1MzYrE07vh7Ud7qsJgvnah6YV3q/EmcJfog44ANd8H6gwpOVLIMn4HfhC+g8YEEaAECBNPhG+dz0EVRDCyAAwOJiNO/XfVSeWeQP5K/CC/Jf4/9RooNy1cJ31cd5XvkuI4/A7eh9zAlzyW5Fs0o5DJq/0ugQD+QDhw7XGOovdL26deHdH8xYTkr/+WfBfTtZvO51eQTcKH/LxfR4hsSbjxGHgUP31OgbeLzEBetJ6PjTtn1zLN31ta0Ll/8Wx62WD8AZ9DY+b5hpbLgCVf2971D3vzRf+yIxHbglBUq5/5N8ALKl9ygRn0wEIqw+8ifz1a9978UAgQK3vl7iYIt8AO5Eb4PQege/LSRR+QkCpfBE+RlLMsYWL1Cngl6dUbfFV+v0GMgajboh0RlUWz1OdXVdjZpjGg1ag9bc0qh+kfU25Ys9JiPDN7r1oWlhKB4IhnxTwXCshqy2m6wDQ7lGS2M576vyAagp5UOJ2JtKiUTZ9dwYsTwH4DQop6qcHBOpsXqYmur66lqWsdBag9bUYlH7224n2UqTNbW12kTixYA/7JsK8uXo/UO5RmtjgGttyg/lTDTDN7ro0Eyk2F7K52/knfBr6B8VDkAB9sOL7VLxFWLfrZdL+IXAfngZeTGvxSgTFaKCUTAyxo/+4vXO1y/sfyd+6VL8HfxeEJyCl1E9qAHA7Y66jRRlNJvhZelueO7KiRNXTn2z41uZkRAZHlbWPAWvlt4Vo6IY5bholTF09fjxq/Dcqe7hMBkayXyroxTfIH+GUqgKv1vFiY6ogxOhEbZzl6Qu+PeXOKjSen+U/pFX+rJqfRYF1+AyrgfPwPZdxd1wWWl0EPShQXARXcS10BWSe4RuZswGG4MGzSaLo9FkaQFQmbHfg8uYw9TG6ULp1WEzo7OoDdomh/pI8Uh99qfqmriKCvuQa+3D3gkAsRbB5+g8qAKAxqKjnjA3DNJe+N2Xpqdf+h8AAAD//wEAAP//nAEBBgAAAQAAAAEYUbJVXXNfDzz1AAED6AAAAADYXaDMAAAAAN1mLzf+vf7dCB0DyQACAAMAAgAAAAAAAAABAAAD2P7vAAAIQP69/bwIHQPoAML/0QAAAAAAAAAAAAAAQHicHM6xLkNhGIfx5/92kSAkJAfLJ75zehIVJBaNLga6GEjE5gqsFlsHV2BxFSaLsWGRkFg6dvgaM8MZEJG+cjo905P87JKcZ9DYX6xLtCZtOybaEW3bItoF0a7oWJOoX2Y05tyWKW2JoHsKyyg1otAKLVtANk3gg8CnX2tI4IeNRiDYLMEalJb5V/3rjKAb/9MBHZtnV3327IlD3flAfX9UYl3Jv5WYUwIldqjIqHxUV7f01CLq3YeK7KvwgXKmlPub1lhV4a869QcltpXYrGsnLE5s0K19VPT+AQAA//8BAAD//907QiAAAAAuAC4AUgCKALwA3gEUATABVgGIAawB7AIAAjgCcAKeAtYDEAM4A4ADqgO2A8ID3AP+BEAEagSYBNIFDAUqBWYFlAXABd4GGAZEBnQGpgbiBwoHPgeAB5YHtAfAB8wH2gfoCAYIJAg4CEwIlAjcCOwJAAkWCSwJRAlSCWgJhgmWAAAAAQAAAEAAjAAMAGYABwABAAAAAAAAAAAAAAAAAAQAA3icnJTbThtXFIY/B9tterqoUERu0L5MpWRMoxAl4cqUoIyKcOpxepCqSoM9PojxzMgzmJIn6HXfom+Rqz5Gn6LqdbV/L4MdRUEgBPx79jr8a61/bWCT/9igVr8L/N2cG66x3fzZ8B2+aB4Z3mC/+ZnhOg8b/xhuMGi8NdzkQaNr+BPe1f80/ClP6r8ZvstW/dDw5zyubxr+csPxr+GveMK7Ba7BM/4wXGOLwvAdNvnV8Ab3sJi1OvfYMdzga7YNN9kGekyoSJmQMcIxZMKIM2YklEQkzJgwJGGAI6RNSqWvGbGQY/TBrzERFTNiRRxT4UiJSIkpGVvEt/LKea2MQ51mdtemYkzMiTxOiclw5IzIyUg4VZyKioIXtGhR0hffgoqSgJIJKQE5M0a06HDIET3GTChxHCqSZxaRM6TinFj5nVn4zvRJyCiN1RkZA/F04pfIO+QIR4dCtquRj9YiPMTxo7w9t1y23xLo160wW8+7ZBMzVz9TdSXVzbkmONatz9vmB+GKF7hb9WedyfU9Guh/pcgnnGn+A00qE5MM57ZoE0lBkbuPY1/nkEgd+YmQHq/o8Iaezm26dGlzTI+Ql/Lt0MXxHR2OOZBHKLy4O5RijvkFx/eEsvGxE+vPYmIJv1OYuktxnKmOKYV67pkHqjVRhTefsN+hfE0dpXz62iNv6TS/THsWMzJVFGI4VS+X2iitfwNTxFS1+Nle3fttmNvuLbf4glw77NW64OQnt2B03VSD9zRzrp+AmAE5J7LokzOlRcWFeL8m5owUx4G690pbUtG+9PF5LqSShKkYhGSKM6PQ39h0Exn3/prunb0lA/l7pqeXVd0mi1Ovrmb0Rt1b3kXW5WRlAi2bar6ipr64Zqb9RDu1yj+Sb6nXLecRoeIudvtDr8AOz9llj7Gy9HUzv7zzr4S32FMHTklkNZSmfQ2PCdgl4Cm77PKcp+/1csnGGR+3xmc1f5sD9umwd201C9sO+7xci/bxzH+J7Y7qcTy6PD279TQf3EC132jfrt7NribnpzG3aFfbcUzM1HNxW6s1ufsE/wMAAP//AQAA//9yoVFAAAAAAwAA//UAAP/OADIAAAAAAAAAAAAAAAAAAAAAAAAAAA==&#34;);
}]]&gt;&lt;/style&gt;&lt;style type=&#34;text/css&#34;&gt;&lt;![CDATA[.shape {
  shape-rendering: geometricPrecision;
  stroke-linejoin: round;
}
.connection {
  stroke-linecap: round;
  stroke-linejoin: round;
}
.blend {
  mix-blend-mode: multiply;
  opacity: 0.5;
}

		.d2-2956434478 .fill-N1{fill:#0A0F25;}
		.d2-2956434478 .fill-N2{fill:#676C7E;}
		.d2-2956434478 .fill-N3{fill:#9499AB;}
		.d2-2956434478 .fill-N4{fill:#CFD2DD;}
		.d2-2956434478 .fill-N5{fill:#DEE1EB;}
		.d2-2956434478 .fill-N6{fill:#EEF1F8;}
		.d2-2956434478 .fill-N7{fill:#FFFFFF;}
		.d2-2956434478 .fill-B1{fill:#000536;}
		.d2-2956434478 .fill-B2{fill:#0F66B7;}
		.d2-2956434478 .fill-B3{fill:#4393DD;}
		.d2-2956434478 .fill-B4{fill:#87BFF3;}
		.d2-2956434478 .fill-B5{fill:#BCDDFB;}
		.d2-2956434478 .fill-B6{fill:#E5F3FF;}
		.d2-2956434478 .fill-AA2{fill:#076F6F;}
		.d2-2956434478 .fill-AA4{fill:#77DEDE;}
		.d2-2956434478 .fill-AA5{fill:#C3F8F8;}
		.d2-2956434478 .fill-AB4{fill:#C1A2F3;}
		.d2-2956434478 .fill-AB5{fill:#DACEFB;}
		.d2-2956434478 .stroke-N1{stroke:#0A0F25;}
		.d2-2956434478 .stroke-N2{stroke:#676C7E;}
		.d2-2956434478 .stroke-N3{stroke:#9499AB;}
		.d2-2956434478 .stroke-N4{stroke:#CFD2DD;}
		.d2-2956434478 .stroke-N5{stroke:#DEE1EB;}
		.d2-2956434478 .stroke-N6{stroke:#EEF1F8;}
		.d2-2956434478 .stroke-N7{stroke:#FFFFFF;}
		.d2-2956434478 .stroke-B1{stroke:#000536;}
		.d2-2956434478 .stroke-B2{stroke:#0F66B7;}
		.d2-2956434478 .stroke-B3{stroke:#4393DD;}
		.d2-2956434478 .stroke-B4{stroke:#87BFF3;}
		.d2-2956434478 .stroke-B5{stroke:#BCDDFB;}
		.d2-2956434478 .stroke-B6{stroke:#E5F3FF;}
		.d2-2956434478 .stroke-AA2{stroke:#076F6F;}
		.d2-2956434478 .stroke-AA4{stroke:#77DEDE;}
		.d2-2956434478 .stroke-AA5{stroke:#C3F8F8;}
		.d2-2956434478 .stroke-AB4{stroke:#C1A2F3;}
		.d2-2956434478 .stroke-AB5{stroke:#DACEFB;}
		.d2-2956434478 .background-color-N1{background-color:#0A0F25;}
		.d2-2956434478 .background-color-N2{background-color:#676C7E;}
		.d2-2956434478 .background-color-N3{background-color:#9499AB;}
		.d2-2956434478 .background-color-N4{background-color:#CFD2DD;}
		.d2-2956434478 .background-color-N5{background-color:#DEE1EB;}
		.d2-2956434478 .background-color-N6{background-color:#EEF1F8;}
		.d2-2956434478 .background-color-N7{background-color:#FFFFFF;}
		.d2-2956434478 .background-color-B1{background-color:#000536;}
		.d2-2956434478 .background-color-B2{background-color:#0F66B7;}
		.d2-2956434478 .background-color-B3{background-color:#4393DD;}
		.d2-2956434478 .background-color-B4{background-color:#87BFF3;}
		.d2-2956434478 .background-color-B5{background-color:#BCDDFB;}
		.d2-2956434478 .background-color-B6{background-color:#E5F3FF;}
		.d2-2956434478 .background-color-AA2{background-color:#076F6F;}
		.d2-2956434478 .background-color-AA4{background-color:#77DEDE;}
		.d2-2956434478 .background-color-AA5{background-color:#C3F8F8;}
		.d2-2956434478 .background-color-AB4{background-color:#C1A2F3;}
		.d2-2956434478 .background-color-AB5{background-color:#DACEFB;}
		.d2-2956434478 .color-N1{color:#0A0F25;}
		.d2-2956434478 .color-N2{color:#676C7E;}
		.d2-2956434478 .color-N3{color:#9499AB;}
		.d2-2956434478 .color-N4{color:#CFD2DD;}
		.d2-2956434478 .color-N5{color:#DEE1EB;}
		.d2-2956434478 .color-N6{color:#EEF1F8;}
		.d2-2956434478 .color-N7{color:#FFFFFF;}
		.d2-2956434478 .color-B1{color:#000536;}
		.d2-2956434478 .color-B2{color:#0F66B7;}
		.d2-2956434478 .color-B3{color:#4393DD;}
		.d2-2956434478 .color-B4{color:#87BFF3;}
		.d2-2956434478 .color-B5{color:#BCDDFB;}
		.d2-2956434478 .color-B6{color:#E5F3FF;}
		.d2-2956434478 .color-AA2{color:#076F6F;}
		.d2-2956434478 .color-AA4{color:#77DEDE;}
		.d2-2956434478 .color-AA5{color:#C3F8F8;}
		.d2-2956434478 .color-AB4{color:#C1A2F3;}
		.d2-2956434478 .color-AB5{color:#DACEFB;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#000536;--color-border-muted:#0F66B7;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0F66B7;--color-accent-emphasis:#0F66B7;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-2956434478);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-dark-d2-2956434478);mix-blend-mode:overlay}.sketch-overlay-B3{fill:url(#streaks-dark-d2-2956434478);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-normal-d2-2956434478);mix-blend-mode:color-burn}.sketch-overlay-B5{fill:url(#streaks-normal-d2-2956434478);mix-blend-mode:color-burn}.sketch-overlay-B6{fill:url(#streaks-bright-d2-2956434478);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-2956434478);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-normal-d2-2956434478);mix-blend-mode:color-burn}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-2956434478);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-normal-d2-2956434478);mix-blend-mode:color-burn}.sketch-overlay-AB5{fill:url(#streaks-normal-d2-2956434478);mix-blend-mode:color-burn}.sketch-overlay-N1{fill:url(#streaks-darker-d2-2956434478);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-2956434478);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-2956434478);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-2956434478);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-2956434478);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-2956434478);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-2956434478);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]&gt;&lt;/style&gt;&lt;g class=&#34;SkRZ&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;0.000000&#34; y=&#34;150.000000&#34; width=&#34;211.000000&#34; height=&#34;82.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;105.500000&#34; y=&#34;188.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;&lt;tspan x=&#34;105.500000&#34; dy=&#34;0.000000&#34;&gt;简道云表单&lt;/tspan&gt;&lt;tspan x=&#34;105.500000&#34; dy=&#34;18.500000&#34;&gt;审核通过/数据修改&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;QXBhY2hl&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;685.000000&#34; y=&#34;150.000000&#34; width=&#34;279.000000&#34; height=&#34;82.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;824.500000&#34; y=&#34;188.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;&lt;tspan x=&#34;824.500000&#34; dy=&#34;0.000000&#34;&gt;Apache 443&lt;/tspan&gt;&lt;tspan x=&#34;824.500000&#34; dy=&#34;18.500000&#34;&gt;ProxyPass /webhook→Node 3000&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;Tm9kZQ==&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;1221.000000&#34; y=&#34;142.000000&#34; width=&#34;209.000000&#34; height=&#34;98.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;1325.500000&#34; y=&#34;180.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;&lt;tspan x=&#34;1325.500000&#34; dy=&#34;0.000000&#34;&gt;Node 服务 /webhook&lt;/tspan&gt;&lt;tspan x=&#34;1325.500000&#34; dy=&#34;17.666667&#34;&gt;签名校验 + 快速ACK&lt;/tspan&gt;&lt;tspan x=&#34;1325.500000&#34; dy=&#34;17.666667&#34;&gt;后台异步执行&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;VHlwZT8=&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;1784.000000&#34; y=&#34;91.000000&#34; width=&#34;230.000000&#34; height=&#34;66.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;1899.000000&#34; y=&#34;129.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;decision: &amp;#34;会员类型？&amp;#34;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;RGFud2VpUEhQ&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;2916.000000&#34; y=&#34;0.000000&#34; width=&#34;222.000000&#34; height=&#34;98.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;3027.000000&#34; y=&#34;38.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;&lt;tspan x=&#34;3027.000000&#34; dy=&#34;0.000000&#34;&gt;Danwei300.php&lt;/tspan&gt;&lt;tspan x=&#34;3027.000000&#34; dy=&#34;17.666667&#34;&gt;x-www-form-urlencoded&lt;/tspan&gt;&lt;tspan x=&#34;3027.000000&#34; dy=&#34;17.666667&#34;&gt;(name, number, exp)&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;UXVlcnlJbmZv&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;2310.000000&#34; y=&#34;134.000000&#34; width=&#34;336.000000&#34; height=&#34;130.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;2478.000000&#34; y=&#34;172.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;&lt;tspan x=&#34;2478.000000&#34; dy=&#34;0.000000&#34;&gt;会员基本信息表&lt;/tspan&gt;&lt;tspan x=&#34;2478.000000&#34; dy=&#34;17.000000&#34;&gt;v5 data/list&lt;/tspan&gt;&lt;tspan x=&#34;2478.000000&#34; dy=&#34;17.000000&#34;&gt;fields: number, gender, id_card_number,&lt;/tspan&gt;&lt;tspan x=&#34;2478.000000&#34; dy=&#34;17.000000&#34;&gt;employer, title, photo&lt;/tspan&gt;&lt;tspan x=&#34;2478.000000&#34; dy=&#34;17.000000&#34;&gt;filter: number eq&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;R2VyZW5QSFA=&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;2903.000000&#34; y=&#34;158.000000&#34; width=&#34;248.000000&#34; height=&#34;82.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;3027.000000&#34; y=&#34;196.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;&lt;tspan x=&#34;3027.000000&#34; dy=&#34;0.000000&#34;&gt;Geren300.php&lt;/tspan&gt;&lt;tspan x=&#34;3027.000000&#34; dy=&#34;18.500000&#34;&gt;multipart/form-data + photo&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;QmFzZTY0&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;3408.000000&#34; y=&#34;91.000000&#34; width=&#34;136.000000&#34; height=&#34;66.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;3476.000000&#34; y=&#34;129.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;证书Base64&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;R2V0VG9rZW4=&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;3801.000000&#34; y=&#34;83.000000&#34; width=&#34;195.000000&#34; height=&#34;82.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;3898.500000&#34; y=&#34;121.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;&lt;tspan x=&#34;3898.500000&#34; dy=&#34;0.000000&#34;&gt;v5 get_upload_token&lt;/tspan&gt;&lt;tspan x=&#34;3898.500000&#34; dy=&#34;18.500000&#34;&gt;(token, url, txid)&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;VXBsb2Fk&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;4253.000000&#34; y=&#34;75.000000&#34; width=&#34;272.000000&#34; height=&#34;98.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;4389.000000&#34; y=&#34;113.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;&lt;tspan x=&#34;4389.000000&#34; dy=&#34;0.000000&#34;&gt;上传文件&lt;/tspan&gt;&lt;tspan x=&#34;4389.000000&#34; dy=&#34;17.666667&#34;&gt;multipart/form-data(token, file)&lt;/tspan&gt;&lt;tspan x=&#34;4389.000000&#34; dy=&#34;17.666667&#34;&gt;→ key&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;VXBkYXRl&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;4782.000000&#34; y=&#34;75.000000&#34; width=&#34;179.000000&#34; height=&#34;98.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;4871.500000&#34; y=&#34;113.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;&lt;tspan x=&#34;4871.500000&#34; dy=&#34;0.000000&#34;&gt;v5 data/update&lt;/tspan&gt;&lt;tspan x=&#34;4871.500000&#34; dy=&#34;17.666667&#34;&gt;同一 txid 写附件&lt;/tspan&gt;&lt;tspan x=&#34;4871.500000&#34; dy=&#34;17.666667&#34;&gt;{ value: [key] }&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;UmVjb3Jk&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;5218.000000&#34; y=&#34;83.000000&#34; width=&#34;226.000000&#34; height=&#34;82.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;5331.000000&#34; y=&#34;121.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;&lt;tspan x=&#34;5331.000000&#34; dy=&#34;0.000000&#34;&gt;表单记录附件&lt;/tspan&gt;&lt;tspan x=&#34;5331.000000&#34; dy=&#34;18.500000&#34;&gt;certificate_&amp;lt;number&amp;gt;.jpg&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;U3lzdGVtZA==&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;1825.000000&#34; y=&#34;217.000000&#34; width=&#34;149.000000&#34; height=&#34;82.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;1899.500000&#34; y=&#34;255.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;&lt;tspan x=&#34;1899.500000&#34; dy=&#34;0.000000&#34;&gt;systemd 常驻&lt;/tspan&gt;&lt;tspan x=&#34;1899.500000&#34; dy=&#34;18.500000&#34;&gt;journald 日志&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KEpEWSAtJmd0OyBBcGFjaGUpWzBd&#34;&gt;&lt;marker id=&#34;mk-d2-2956434478-3488378134&#34; markerWidth=&#34;10.000000&#34; markerHeight=&#34;12.000000&#34; refX=&#34;7.000000&#34; refY=&#34;6.000000&#34; viewBox=&#34;0.000000 0.000000 10.000000 12.000000&#34; orient=&#34;auto&#34; markerUnits=&#34;userSpaceOnUse&#34;&gt; &lt;polygon points=&#34;0.000000,0.000000 10.000000,6.000000 0.000000,12.000000&#34; fill=&#34;#000536&#34; class=&#34;connection fill-B1&#34; stroke-width=&#34;2&#34; /&gt; &lt;/marker&gt;&lt;path d=&#34;M 213.000000 191.000000 C 400.600006 191.000000 495.399994 191.000000 681.000000 191.000000&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2956434478-3488378134)&#34; mask=&#34;url(#d2-2956434478)&#34; /&gt;&lt;text x=&#34;448.500000&#34; y=&#34;197.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;POST /webhook + x-jdy-signature&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KEFwYWNoZSAtJmd0OyBOb2RlKVswXQ==&#34;&gt;&lt;path d=&#34;M 965.500000 191.000000 C 1066.699951 191.000000 1118.300049 191.000000 1217.500000 191.000000&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2956434478-3488378134)&#34; mask=&#34;url(#d2-2956434478)&#34; /&gt;&lt;/g&gt;&lt;g class=&#34;KE5vZGUgLSZndDsgVHlwZT8pWzBd&#34;&gt;&lt;path d=&#34;M 1431.945966 165.538245 C 1571.599976 132.399994 1642.400024 124.000000 1780.000000 124.000000&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2956434478-3488378134)&#34; mask=&#34;url(#d2-2956434478)&#34; /&gt;&lt;/g&gt;&lt;g class=&#34;KFR5cGU_IC0mZ3Q7IERhbndlaVBIUClbMF0=&#34;&gt;&lt;path d=&#34;M 2015.924026 90.453992 C 2132.399902 57.400002 2225.199951 49.000000 2320.000000 49.000000 C 2414.800049 49.000000 2802.899902 49.000000 2912.500000 49.000000&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2956434478-3488378134)&#34; mask=&#34;url(#d2-2956434478)&#34; /&gt;&lt;text x=&#34;2462.500000&#34; y=&#34;55.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;单位&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KFR5cGU_IC0mZ3Q7IFF1ZXJ5SW5mbylbMF0=&#34;&gt;&lt;path d=&#34;M 2015.924026 157.546008 C 2132.399902 190.600006 2191.600098 199.000000 2306.000000 199.000000&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2956434478-3488378134)&#34; mask=&#34;url(#d2-2956434478)&#34; /&gt;&lt;text x=&#34;2159.500000&#34; y=&#34;200.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;个人&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KFF1ZXJ5SW5mbyAtJmd0OyBHZXJlblBIUClbMF0=&#34;&gt;&lt;path d=&#34;M 2647.500000 199.000000 C 2748.699951 199.000000 2800.300049 199.000000 2899.500000 199.000000&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2956434478-3488378134)&#34; mask=&#34;url(#d2-2956434478)&#34; /&gt;&lt;/g&gt;&lt;g class=&#34;KERhbndlaVBIUCAtJmd0OyBCYXNlNjQpWzBd&#34;&gt;&lt;path d=&#34;M 3139.500000 49.000000 C 3251.100098 49.000000 3305.300049 58.799999 3404.760673 96.579635&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2956434478-3488378134)&#34; mask=&#34;url(#d2-2956434478)&#34; /&gt;&lt;/g&gt;&lt;g class=&#34;KEdlcmVuUEhQIC0mZ3Q7IEJhc2U2NClbMF0=&#34;&gt;&lt;path d=&#34;M 3152.500000 199.000000 C 3253.699951 199.000000 3305.300049 189.199997 3404.760673 151.420365&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2956434478-3488378134)&#34; mask=&#34;url(#d2-2956434478)&#34; /&gt;&lt;/g&gt;&lt;g class=&#34;KEJhc2U2NCAtJmd0OyBHZXRUb2tlbilbMF0=&#34;&gt;&lt;path d=&#34;M 3545.500000 124.000000 C 3646.699951 124.000000 3698.300049 124.000000 3797.500000 124.000000&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2956434478-3488378134)&#34; mask=&#34;url(#d2-2956434478)&#34; /&gt;&lt;/g&gt;&lt;g class=&#34;KEdldFRva2VuIC0mZ3Q7IFVwbG9hZClbMF0=&#34;&gt;&lt;path d=&#34;M 3997.500000 124.000000 C 4098.700195 124.000000 4150.299805 124.000000 4249.500000 124.000000&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2956434478-3488378134)&#34; mask=&#34;url(#d2-2956434478)&#34; /&gt;&lt;/g&gt;&lt;g class=&#34;KFVwbG9hZCAtJmd0OyBVcGRhdGUpWzBd&#34;&gt;&lt;path d=&#34;M 4526.500000 124.000000 C 4627.700195 124.000000 4679.299805 124.000000 4778.500000 124.000000&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2956434478-3488378134)&#34; mask=&#34;url(#d2-2956434478)&#34; /&gt;&lt;/g&gt;&lt;g class=&#34;KFVwZGF0ZSAtJmd0OyBSZWNvcmQpWzBd&#34;&gt;&lt;path d=&#34;M 4962.500000 124.000000 C 5063.700195 124.000000 5115.299805 124.000000 5214.500000 124.000000&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2956434478-3488378134)&#34; mask=&#34;url(#d2-2956434478)&#34; /&gt;&lt;/g&gt;&lt;g class=&#34;KE5vZGUgLSZndDsgU3lzdGVtZClbMF0=&#34;&gt;&lt;path d=&#34;M 1431.945966 216.461755 C 1571.599976 249.600006 1650.500000 258.000000 1820.500000 258.000000&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2956434478-3488378134)&#34; mask=&#34;url(#d2-2956434478)&#34; /&gt;&lt;text x=&#34;1625.500000&#34; y=&#34;261.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;运行与日志&lt;/text&gt;&lt;/g&gt;&lt;mask id=&#34;d2-2956434478&#34; maskUnits=&#34;userSpaceOnUse&#34; x=&#34;-101&#34; y=&#34;-101&#34; width=&#34;5646&#34; height=&#34;501&#34;&gt;
&lt;rect x=&#34;-101&#34; y=&#34;-101&#34; width=&#34;5646&#34; height=&#34;501&#34; fill=&#34;white&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;22.500000&#34; y=&#34;172.500000&#34; width=&#34;166&#34; height=&#34;37&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;707.500000&#34; y=&#34;172.500000&#34; width=&#34;234&#34; height=&#34;37&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;1243.500000&#34; y=&#34;164.500000&#34; width=&#34;164&#34; height=&#34;53&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;1806.500000&#34; y=&#34;113.500000&#34; width=&#34;185&#34; height=&#34;21&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;2938.500000&#34; y=&#34;22.500000&#34; width=&#34;177&#34; height=&#34;53&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;2332.500000&#34; y=&#34;156.500000&#34; width=&#34;291&#34; height=&#34;85&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;2925.500000&#34; y=&#34;180.500000&#34; width=&#34;203&#34; height=&#34;37&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;3430.500000&#34; y=&#34;113.500000&#34; width=&#34;91&#34; height=&#34;21&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;3823.500000&#34; y=&#34;105.500000&#34; width=&#34;150&#34; height=&#34;37&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;4275.500000&#34; y=&#34;97.500000&#34; width=&#34;227&#34; height=&#34;53&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;4804.500000&#34; y=&#34;97.500000&#34; width=&#34;134&#34; height=&#34;53&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;5240.500000&#34; y=&#34;105.500000&#34; width=&#34;181&#34; height=&#34;37&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;1847.500000&#34; y=&#34;239.500000&#34; width=&#34;104&#34; height=&#34;37&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;340.000000&#34; y=&#34;181.000000&#34; width=&#34;217&#34; height=&#34;21&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;2443.000000&#34; y=&#34;39.000000&#34; width=&#34;39&#34; height=&#34;21&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;2140.000000&#34; y=&#34;184.000000&#34; width=&#34;39&#34; height=&#34;21&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;1577.000000&#34; y=&#34;245.000000&#34; width=&#34;97&#34; height=&#34;21&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;/mask&gt;&lt;/svg&gt;&lt;/svg&gt;&lt;/div&gt;&lt;h2 id=&#34;heading-3&#34;&gt;实现要点（关键节点）&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;证书生成端点：
&lt;ul&gt;
&lt;li&gt;单位：CERT_URL_DANWEI（name、number、exp）。&lt;/li&gt;
&lt;li&gt;个人：CERT_URL_GEREN（gerenname、gerennumber、gerenexp、gerensex、gerencard、gerencoltd、gerenwork、gerenphoto）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;单位会员时序&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;d2&#34;&gt;&lt;?xml version=&#34;1.0&#34; encoding=&#34;utf-8&#34;?&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; xmlns:xlink=&#34;http://www.w3.org/1999/xlink&#34; data-d2-version=&#34;v0.6.9-HEAD&#34; preserveAspectRatio=&#34;xMinYMin meet&#34; viewBox=&#34;0 0 2098 468&#34;&gt;&lt;svg class=&#34;d2-2811988692 d2-svg&#34; width=&#34;2098&#34; height=&#34;468&#34; viewBox=&#34;-101 -91 2098 468&#34;&gt;&lt;rect x=&#34;-101.000000&#34; y=&#34;-91.000000&#34; width=&#34;2098.000000&#34; height=&#34;468.000000&#34; rx=&#34;0.000000&#34; fill=&#34;#FFFFFF&#34; class=&#34; fill-N7&#34; stroke-width=&#34;0&#34; /&gt;&lt;style type=&#34;text/css&#34;&gt;&lt;![CDATA[
.d2-2811988692 .text-bold {
	font-family: &#34;d2-2811988692-font-bold&#34;;
}
@font-face {
	font-family: d2-2811988692-font-bold;
	src: url(&#34;data:application/font-woff;base64,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&#34;);
}
.d2-2811988692 .text-italic {
	font-family: &#34;d2-2811988692-font-italic&#34;;
}
@font-face {
	font-family: d2-2811988692-font-italic;
	src: url(&#34;data:application/font-woff;base64,d09GRgABAAAAABR0AAoAAAAAHswAARhRAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAAA9AAAAGAAAABgW1SVeGNtYXAAAAFUAAAA8AAAAVZK2OiIZ2x5ZgAAAkQAAA0OAAASKNaDT65oZWFkAAAPVAAAADYAAAA2G7Ur2mhoZWEAAA+MAAAAJAAAACQLeAjhaG10eAAAD7AAAADeAAAA9Gb3A/Bsb2NhAAAQkAAAAHwAAAB8kkqXGG1heHAAABEMAAAAIAAAACAAVQD2bmFtZQAAESwAAAMmAAAIMgntVzNwb3N0AAAUVAAAACAAAAAg/8YAMgADAeEBkAAFAAACigJY//EASwKKAlgARAFeADIBIwAAAgsFAwMEAwkCBCAAAHcAAAADAAAAAAAAAABBREJPAAEAIP//Au7/BgAAA9gBESAAAZMAAAAAAeYClAAAACAAA3iclM67SpsBGIDh52/SJm3TU3o+/+kxaXNq2kYRHESnCCLoIiLiHYibiDfhRbjo5qDBRe/ASTfBa1AXQT5RVFx99wdeJDISFGSTDlpSWUWpiqqauoamtj79BgwZNmrchElTps2at2CxtBSBVPmGaV2aQR0jxq7NjLkrEwfy5w9xKhfHcRSHcRLbsRWb0Y31WIu92I2dWI2V6MbG/vLF6W1LNP1RVfdb23c//FRW8UtNjzsysu66JyfvvgceKmj5q+GRx5546pmi51546ZXX3njrnfc++OiTz1IlX3z1zT//9XIGAAD//wEAAP//Qac9Y3icfJh9bBv3ecd/v99RdyJFSSSPPIo0KYo88o7vL3ckTxRFUhRFiZJIWe+Sbb3ZjhzZcWIlqZqkdpI2KdzEWzIVSLs0y5as6YYW6R+BMwzrmqZrk22KU3fr4A3tknRo2iptvK6poLlpYd0Nd6QkShgKEAeC9t3zPJ/7Pt/n+Qk0ADcA6B70DMCAGrQCAzABwJNODOMFgTZjPMvSBCGwJEm4H4Mbjz2nKhz/uffF3wUdqoHPfG34v5deRs/snIefnn/0UfHEE8vLMzdvin74HzcBAABJbwMA/x2tAzXQA0ASPMswLI3jEPIkzdLET7ve0Kg0KpWVF78H7zheHjP84ix8aHU1fq4zdac4htZ3Vq9fBwCClLSNQuh54ACgwcUwiXgW8RxlJhiGdrUgk5GieC4pmHEcuoZXktHjD5c7x9qSZJLpWux1u4bS3kIH7Z7XFh4cqTzzwIDg93WwmTse7E7PJzqOcI6QnCugAUBJJVdSJsBzlMmI4zTLc8lkIs7QNP34p558auqFC9PTU5cKd55OovXPPfTA3yz3TH7x5PxZuV4oidI23EDroBUAs4thhWpeJI/h+Atd4ya+JeXjss1zIwu6Za0QDrh9w3l4XfROXQBQiT+D1oFWiY7xkCdIGiMI+vGRPAYHZ299YeyRJ0NoXXwN9t0Wz8NTl9+VYyr3nUHrtaxJM59UItKYTJrA6MdHvuhX4S2a4vDjlWcCKrxV04/WxbknY3fzcG5nFb70FH+OE19QGHRL22gBPQ90oEMhXQNNmYwtiOWySOZQBQ4d96yFp9f6h5bj4elPFBIzWdfQiHwd1P7ppeH1tWLfxYnhz68VC92n1lIn19Kn1rqWPrnHOYTWQRMw1nOmMZLndkF/Y+6+oc9Mno3nF5fPlUvLaH1oevTOmPgxHBg9muIV1kArbUMRPQ/89awTcYZlZYEkk3sCwXGTkTKbKSXOB4VVb8o+JXSPhTxlfzoxl04vOXhLf9iTsMfc5Ug8fUbb1RUIcH2dbo4KWwcFbpyLe8PtPkf0CBOhQrYBoetEHEAwDwBKoHVAyFXQgpOgsb9ee70Zvt387TVUKRR2Xq3mOQEAaq9qgicx3kxRyisSeIj9EX/XaEjdqsbMwbZLE+L/xCGA699yFxnPgPs1cVVSeLHSNvwYbgGjTM68907MvMBjtEDjOMslBWGvE17tKQeHFng2o1eR2ZO5RhU9a2COuoMmzuYuJBwx7Ymp/ofmeK8zI1pLnkhPOPIjxuUfnOdyGaVngUPahh+hDWCSnUEmSxM0yRMEryA9oAScICjqQzajx4y5pysshdyTISV8wl1ItEd9rjE6bOS1XmcGbby+ZA8cn5ZD9/gH5/lsxu/5gHEBCDzSNrwKt4DtQHX7b67W2T88ekewcjIR7KZCJGOPTidTXR1JymWtaM/M990/FXFZomZT32qht9+q54wesMsOsXW17LP7w/C6DJiOqazX6I14DtNjOxZf3+k8jA8ptXwbbgEr8NTHk5VHOPE9l8J4xVLkCn82fTY0PBcV8u3aBvFNdUfBb0+Z2+1jX5IQZvDRiQXtuZPF1fFgeJSz8S25UY9Fz5sc0NPU1myLOaYABAEA4FPoBjArOsyheuUTBE/QWGAq15TXtY5krH7DEc0RvdPXqD+lPT0Fv5pqGBuaaG4SCA0XmMiKszIzKLnhFtwCDhA+4GICjtMH1Yfj2AF6L8emabet6M0OtViYyUhmNDA4F2OyeozMnSHvT9FjrgAVs9F5vj3yLmNPmF3lnhUmOD1V+MQxTtYjtngGOgP+f2Vcvv7ZaDpd7R8HAPCHaANYFLfY1yGB0aSMUS4TczxdiepUvvFgNtGYLXerVCVbKVxEGzczdCTf6XCL12DQ2NY87A+LX5Uk+Zng9+gqYkAKAICDrhIAQJKkz0os+K3ye7r6e3E/h1+hjT1vJmVvZgnC8XRlCf1u9rtrI/OrVrQh2iF8W/z5r+67CCAIStvg92gDGGSKiXh1CpiMNQncnccvVh6GUI/hBNRQ2pzegu7a+TyhxgwQpVWqvbjoQ7gle5wcs1q6uQYAP0CgHsbJHKFiJpiuWENk1pNJqlTZSkalGjCVgkWZTT9VChTh5qA7JniDfL5T326s57P/bZ8/3AJt9Tkcxi9H9I2HD9BXIhyGv9eX8B24BVqBvb5PquZSHbfV5r9xdCE4tMAdXQwOL/hDY3ySky/alRPF+6fC1WtP72pf70Bhta+3X9k5bkk8/AhuVXueqMu4BdGKmxHkAf/SXMnhmGcqrLQ+x3STyOD4q3r/uo5e7XGEao3vWHkBwpqBMb/wOPf1cQluAV0dIzPB7LJpUtnLIYvpiM7qLjsycHM+mFH3NebS4nUApdvSNnwYbgH28Bw7PMbkKVYdYi/F5i1Rcw/jz/g6w6ngYDA8ZAuTvJOJJTuy8ei4Nu5lHN4wbWUd1qwvkPe4271Ga8jRzhhc3cFQn0fOuVvahrPo/J7vJgXZPXjFMep89xs9cRVMDTSV3fkjF7UPpzCbq8XapNdFtLlQq7UZGlINly9nxQ8NhvZ2TYNAtMrP7pS24a/hptyzu8/eVz9Zs96X95RZsg8Ei2V5WHkntb2C3kHCpHiDtMiSgbOidYiuzfw0APAncBM0AyB3YW2Ukjx8bKDsVuEqld5N/klF3IGb4gf0MO0edEOLaK3e2w8A+me4CZyH7t3/htFYdT8lsLN0WQchVLUe0X16WI8QVLVYdY+W3ltsUX61t34Sborvu/pcrj4XbK/7ZoUauuR2l2jxFoDSDQDgv1U50CRbN/sJM13bhQki+J8nRvyNLYSqtaN1amLj9NFgo16j0rnIBYh+dp5iTUaf6fz//uY+KkxRQfP98p75XSkCfwo3gRUAQtGMYtAHiLQgXNPRYjEYPHmLYaLMNDRiKr3H8Mdl8X1LuvQDgkipMxwNPxB/7azQdNkF9Tu/iVSC1f70S9vw++gK0Mu0zPsb9/+zCG5wAx7/4FKC63f7BhdjbCFuD4aVq7bzdPbYX14a6DqdPf7ixf5M371P9BVmivc+0dc7A6B0CwD4Jroi10ALWazWkOxesxJOQtO49PRChE905F1scCY6PusfvzQBjdrw2MVTx8LBbqcjyviO9SUWllZLvTKX30rb8C10BXgP9RIt7LkKwe66p6naTN/ML7fz5qFY38zksvboCZbj7QU7OzE/OjM8lEhnzmrzIa8rPpzie7t8mXZ/0mbmc6O9mTmTSl/iMsdiMi9Z9NfRI0Aj77ROWnAKkMd4gvbwQjIpa52AwyVa/KUaLkyOTmgnROkfGdxAqIxe4ytx+Jy4ms1+y5532uJtVa0C2R/RI/IWvl/HXgGkk6CJ3SGAv5ZfsHNUvtNfCubijmCHcxQGmn8Z1/stpcXCPdpcyOeM+yt8tlunt8JQ72uN2qmJ8oWM8p55aRveRFdAKwgCIBjro+BG84GTlmzI+0Evpjmmm+Y5y1E3PJscDYRG7+5JFI1xVzc3k2txTjoHpoTFa8WpyJBXyLsiTeb3O0/mTr30QG+sw9dVuDjJuGdHsud65FrN0jZ4ApwHTbteUQ3RT1lYG9Xm0dooa9BOWYLy+/2JNAfWwXnZZ2WlCHTdDcamSIpAVDttt9qOfyVs6HZbKQvrbh9cVWa7EmcDvodYEAA98F6Ay5uTcn76MdRAC8AAkBuT1r7T/OPa7iG9K30WviL9rfxvhOAk3E3wLc0ljlPuy0ujcAa9o5z1qlYtmHHlLGr+VJtTWBkKnTuvNra80vPS+Npb35y3XBb/6y/CZ5YY+bk3pFHwYe1eNmmQd0H5JctkYejcXWpDKyc/4hXrZej888iZRYbs+fL42rW/l+M2SitwHr0pnzvMpGzWPNH49a8R935ptelZbC50WwxVc/8XaQUy1f9HCPIJhcdimgt/ttr48tefDWEodPsrVa11SCtwCb0JonuTeLdhBOXD84SiB+VjqlqAPB544nNhv96kPxJocnmNKrVW05ruDmusXpemsVmtYek2o86oM3e0aZ5l/LahSh9lork2jyE6x4+kQuFo4EQ4llSrGh2UdXCk2GZpq+X9PWkFaqv5EILsa9VEEsxebrRQswg5DcKF15Kj42qrl1Y3tjQ2MbSF1Bl1VIdFE4zsJukjVeqmJl06/WwoGAucCHO16KWRYpu1LcT6bEMjRYqkuTY3GZ2PVzqr+fydtAS/jP5J0QDkYQle7RQrL2Jnbj9X1VUUvAGvwR8gBnSDcwAH3eALClej9BHKogagBqCBFZwJJytAE+xk3xB74D+8wUJc5/9O7jt+8eOGvR0CXIebchx5x3ScrJyCm8rwgmAADYOr6KrcI2Sd5B8k22mz0U6jYTNlcbZRlg4AlR32+3BT1hZx6G8QMTOtt2iMOptTc6FyoaXwI406hROxAHLvvNc/DSCIwjC8Bu+UcyATTlMUPgfDKXlF/j8AAAD//wEAAP//nTDFrgAAAAEAAAABGFFXR//NXw889QABA+gAAAAA2F2gzAAAAADdZi83/r3+3QgdA8kAAgADAAIAAAAAAAAAAQAAA9j+7wAACED+vf28CB0D6ADC/9EAAAAAAAAAAAAAAD14nBzOMS9DURjH4d//7SJBSEguliPOPb2JSjSxEF0MWAmx+QRWi90n8D1MFmPD0gSxdOxwGjNDhxKR+0o7Petj15T0QLW/WJM9OyGq57VtE+2KaDd0rEnUL3OqudQbZ7ZKZSsEPZCsoNKQpDVatoRslsAngS+/1YDAD1uNQLB5gjWorPCxLgi68z8d0rFFdtVl35450r331fUnZTaVfazs38osKIMyO4woGPlwolpEffhAkQMl76tkRqW/a4N1JX/VuT8q07ZTlqcfOJ6eMu1/AAAA//8BAAD//3E0RA8AAAAAAC4ALgBSAIQApgDEAOABBgE4AVwBnAGwAdACCAJAAm4CpgLgAwgDUAN6A4YDkgOsA84EEAQ6BGgEogTABPwFKgVWBXQFrgXaBgoGPAZmBqIGygb+B0AHVgd0B4AHjgecB7oH2AfsCAAISAiQCKAIrAjECNII6AkGCRQAAQAAAD0AjAAMAGYABwABAAAAAAAAAAAAAAAAAAQAA3icnJTbThtXFIY/B9tterqoUERu0L5MpWRMoxAl4cqUoIyKcOpxepCqSoM9PojxzMgzmJIn6HXfom+Rqz5Gn6LqdbV/L4MdRUEgBPx79jr8a61/bWCT/9igVr8L/N2cG66x3fzZ8B2+aB4Z3mC/+ZnhOg8b/xhuMGi8NdzkQaNr+BPe1f80/ClP6r8ZvstW/dDw5zyubxr+csPxr+GveMK7Ba7BM/4wXGOLwvAdNvnV8Ab3sJi1OvfYMdzga7YNN9kGekyoSJmQMcIxZMKIM2YklEQkzJgwJGGAI6RNSqWvGbGQY/TBrzERFTNiRRxT4UiJSIkpGVvEt/LKea2MQ51mdtemYkzMiTxOiclw5IzIyUg4VZyKioIXtGhR0hffgoqSgJIJKQE5M0a06HDIET3GTChxHCqSZxaRM6TinFj5nVn4zvRJyCiN1RkZA/F04pfIO+QIR4dCtquRj9YiPMTxo7w9t1y23xLo160wW8+7ZBMzVz9TdSXVzbkmONatz9vmB+GKF7hb9WedyfU9Guh/pcgnnGn+A00qE5MM57ZoE0lBkbuPY1/nkEgd+YmQHq/o8Iaezm26dGlzTI+Ql/Lt0MXxHR2OOZBHKLy4O5RijvkFx/eEsvGxE+vPYmIJv1OYuktxnKmOKYV67pkHqjVRhTefsN+hfE0dpXz62iNv6TS/THsWMzJVFGI4VS+X2iitfwNTxFS1+Nle3fttmNvuLbf4glw77NW64OQnt2B03VSD9zRzrp+AmAE5J7LokzOlRcWFeL8m5owUx4G690pbUtG+9PF5LqSShKkYhGSKM6PQ39h0Exn3/prunb0lA/l7pqeXVd0mi1Ovrmb0Rt1b3kXW5WRlAi2bar6ipr64Zqb9RDu1yj+Sb6nXLecRoeIudvtDr8AOz9llj7Gy9HUzv7zzr4S32FMHTklkNZSmfQ2PCdgl4Cm77PKcp+/1csnGGR+3xmc1f5sD9umwd201C9sO+7xci/bxzH+J7Y7qcTy6PD279TQf3EC132jfrt7NribnpzG3aFfbcUzM1HNxW6s1ufsE/wMAAP//AQAA//9yoVFAAAAAAwAA//UAAP/OADIAAAAAAAAAAAAAAAAAAAAAAAAAAA==&#34;);
}]]&gt;&lt;/style&gt;&lt;style type=&#34;text/css&#34;&gt;&lt;![CDATA[.shape {
  shape-rendering: geometricPrecision;
  stroke-linejoin: round;
}
.connection {
  stroke-linecap: round;
  stroke-linejoin: round;
}
.blend {
  mix-blend-mode: multiply;
  opacity: 0.5;
}

		.d2-2811988692 .fill-N1{fill:#0A0F25;}
		.d2-2811988692 .fill-N2{fill:#676C7E;}
		.d2-2811988692 .fill-N3{fill:#9499AB;}
		.d2-2811988692 .fill-N4{fill:#CFD2DD;}
		.d2-2811988692 .fill-N5{fill:#DEE1EB;}
		.d2-2811988692 .fill-N6{fill:#EEF1F8;}
		.d2-2811988692 .fill-N7{fill:#FFFFFF;}
		.d2-2811988692 .fill-B1{fill:#000536;}
		.d2-2811988692 .fill-B2{fill:#0F66B7;}
		.d2-2811988692 .fill-B3{fill:#4393DD;}
		.d2-2811988692 .fill-B4{fill:#87BFF3;}
		.d2-2811988692 .fill-B5{fill:#BCDDFB;}
		.d2-2811988692 .fill-B6{fill:#E5F3FF;}
		.d2-2811988692 .fill-AA2{fill:#076F6F;}
		.d2-2811988692 .fill-AA4{fill:#77DEDE;}
		.d2-2811988692 .fill-AA5{fill:#C3F8F8;}
		.d2-2811988692 .fill-AB4{fill:#C1A2F3;}
		.d2-2811988692 .fill-AB5{fill:#DACEFB;}
		.d2-2811988692 .stroke-N1{stroke:#0A0F25;}
		.d2-2811988692 .stroke-N2{stroke:#676C7E;}
		.d2-2811988692 .stroke-N3{stroke:#9499AB;}
		.d2-2811988692 .stroke-N4{stroke:#CFD2DD;}
		.d2-2811988692 .stroke-N5{stroke:#DEE1EB;}
		.d2-2811988692 .stroke-N6{stroke:#EEF1F8;}
		.d2-2811988692 .stroke-N7{stroke:#FFFFFF;}
		.d2-2811988692 .stroke-B1{stroke:#000536;}
		.d2-2811988692 .stroke-B2{stroke:#0F66B7;}
		.d2-2811988692 .stroke-B3{stroke:#4393DD;}
		.d2-2811988692 .stroke-B4{stroke:#87BFF3;}
		.d2-2811988692 .stroke-B5{stroke:#BCDDFB;}
		.d2-2811988692 .stroke-B6{stroke:#E5F3FF;}
		.d2-2811988692 .stroke-AA2{stroke:#076F6F;}
		.d2-2811988692 .stroke-AA4{stroke:#77DEDE;}
		.d2-2811988692 .stroke-AA5{stroke:#C3F8F8;}
		.d2-2811988692 .stroke-AB4{stroke:#C1A2F3;}
		.d2-2811988692 .stroke-AB5{stroke:#DACEFB;}
		.d2-2811988692 .background-color-N1{background-color:#0A0F25;}
		.d2-2811988692 .background-color-N2{background-color:#676C7E;}
		.d2-2811988692 .background-color-N3{background-color:#9499AB;}
		.d2-2811988692 .background-color-N4{background-color:#CFD2DD;}
		.d2-2811988692 .background-color-N5{background-color:#DEE1EB;}
		.d2-2811988692 .background-color-N6{background-color:#EEF1F8;}
		.d2-2811988692 .background-color-N7{background-color:#FFFFFF;}
		.d2-2811988692 .background-color-B1{background-color:#000536;}
		.d2-2811988692 .background-color-B2{background-color:#0F66B7;}
		.d2-2811988692 .background-color-B3{background-color:#4393DD;}
		.d2-2811988692 .background-color-B4{background-color:#87BFF3;}
		.d2-2811988692 .background-color-B5{background-color:#BCDDFB;}
		.d2-2811988692 .background-color-B6{background-color:#E5F3FF;}
		.d2-2811988692 .background-color-AA2{background-color:#076F6F;}
		.d2-2811988692 .background-color-AA4{background-color:#77DEDE;}
		.d2-2811988692 .background-color-AA5{background-color:#C3F8F8;}
		.d2-2811988692 .background-color-AB4{background-color:#C1A2F3;}
		.d2-2811988692 .background-color-AB5{background-color:#DACEFB;}
		.d2-2811988692 .color-N1{color:#0A0F25;}
		.d2-2811988692 .color-N2{color:#676C7E;}
		.d2-2811988692 .color-N3{color:#9499AB;}
		.d2-2811988692 .color-N4{color:#CFD2DD;}
		.d2-2811988692 .color-N5{color:#DEE1EB;}
		.d2-2811988692 .color-N6{color:#EEF1F8;}
		.d2-2811988692 .color-N7{color:#FFFFFF;}
		.d2-2811988692 .color-B1{color:#000536;}
		.d2-2811988692 .color-B2{color:#0F66B7;}
		.d2-2811988692 .color-B3{color:#4393DD;}
		.d2-2811988692 .color-B4{color:#87BFF3;}
		.d2-2811988692 .color-B5{color:#BCDDFB;}
		.d2-2811988692 .color-B6{color:#E5F3FF;}
		.d2-2811988692 .color-AA2{color:#076F6F;}
		.d2-2811988692 .color-AA4{color:#77DEDE;}
		.d2-2811988692 .color-AA5{color:#C3F8F8;}
		.d2-2811988692 .color-AB4{color:#C1A2F3;}
		.d2-2811988692 .color-AB5{color:#DACEFB;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#000536;--color-border-muted:#0F66B7;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0F66B7;--color-accent-emphasis:#0F66B7;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-2811988692);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-dark-d2-2811988692);mix-blend-mode:overlay}.sketch-overlay-B3{fill:url(#streaks-dark-d2-2811988692);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-normal-d2-2811988692);mix-blend-mode:color-burn}.sketch-overlay-B5{fill:url(#streaks-normal-d2-2811988692);mix-blend-mode:color-burn}.sketch-overlay-B6{fill:url(#streaks-bright-d2-2811988692);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-2811988692);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-normal-d2-2811988692);mix-blend-mode:color-burn}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-2811988692);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-normal-d2-2811988692);mix-blend-mode:color-burn}.sketch-overlay-AB5{fill:url(#streaks-normal-d2-2811988692);mix-blend-mode:color-burn}.sketch-overlay-N1{fill:url(#streaks-darker-d2-2811988692);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-2811988692);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-2811988692);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-2811988692);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-2811988692);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-2811988692);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-2811988692);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]&gt;&lt;/style&gt;&lt;g class=&#34;SkRZ&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;0.000000&#34; y=&#34;128.000000&#34; width=&#34;104.000000&#34; height=&#34;66.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;52.000000&#34; y=&#34;166.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;简道云&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;QXBhY2hl&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;578.000000&#34; y=&#34;10.000000&#34; width=&#34;98.000000&#34; height=&#34;66.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;627.000000&#34; y=&#34;48.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;Apache&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;Tm9kZQ==&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;1120.000000&#34; y=&#34;112.000000&#34; width=&#34;156.000000&#34; height=&#34;66.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;1198.000000&#34; y=&#34;150.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;Node /webhook&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;UEhQ&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;1731.000000&#34; y=&#34;34.000000&#34; width=&#34;155.000000&#34; height=&#34;66.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;1808.500000&#34; y=&#34;72.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;Danwei300.php&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;RklMRQ==&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;1721.000000&#34; y=&#34;195.000000&#34; width=&#34;175.000000&#34; height=&#34;66.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;1808.500000&#34; y=&#34;233.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;JDY v5 文件接口&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KEpEWSAtJmd0OyBBcGFjaGUpWzBd&#34;&gt;&lt;marker id=&#34;mk-d2-2811988692-3488378134&#34; markerWidth=&#34;10.000000&#34; markerHeight=&#34;12.000000&#34; refX=&#34;7.000000&#34; refY=&#34;6.000000&#34; viewBox=&#34;0.000000 0.000000 10.000000 12.000000&#34; orient=&#34;auto&#34; markerUnits=&#34;userSpaceOnUse&#34;&gt; &lt;polygon points=&#34;0.000000,0.000000 10.000000,6.000000 0.000000,12.000000&#34; fill=&#34;#000536&#34; class=&#34;connection fill-B1&#34; stroke-width=&#34;2&#34; /&gt; &lt;/marker&gt;&lt;path d=&#34;M 105.308400 135.895781 C 262.700012 61.549999 357.500000 42.750000 573.500000 42.750000&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2811988692-3488378134)&#34; mask=&#34;url(#d2-2811988692)&#34; /&gt;&lt;text x=&#34;332.000000&#34; y=&#34;45.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;&lt;tspan x=&#34;332.000000&#34; dy=&#34;0.000000&#34;&gt;POST /webhook&lt;/tspan&gt;&lt;tspan x=&#34;332.000000&#34; dy=&#34;18.500000&#34;&gt;x-jdy-signature&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KEFwYWNoZSAtJmd0OyBOb2RlKVswXQ==&#34;&gt;&lt;path d=&#34;M 678.500000 42.750000 C 884.099976 42.750000 972.799988 56.950001 1116.268188 112.310007&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2811988692-3488378134)&#34; mask=&#34;url(#d2-2811988692)&#34; /&gt;&lt;text x=&#34;903.500000&#34; y=&#34;51.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;反向代理&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KE5vZGUgLSZndDsgSkRZKVswXQ==&#34;&gt;&lt;path d=&#34;M 1118.039250 160.644281 C 972.799988 189.850006 874.099976 197.250000 781.250000 197.250000 C 688.400024 197.250000 262.700012 191.449997 107.458191 168.826822&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2811988692-3488378134)&#34; mask=&#34;url(#d2-2811988692)&#34; /&gt;&lt;text x=&#34;613.000000&#34; y=&#34;202.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;ACK 200&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KE5vZGUgLSZndDsgUEhQKVswXQ==&#34;&gt;&lt;path d=&#34;M 1277.348837 111.737241 C 1453.900024 38.898998 1545.099976 27.500000 1727.544379 54.905808&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2811988692-3488378134)&#34; mask=&#34;url(#d2-2811988692)&#34; /&gt;&lt;text x=&#34;1497.000000&#34; y=&#34;39.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;name, number, exp&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KFBIUCAtJmd0OyBOb2RlKVswXQ==&#34;&gt;&lt;path d=&#34;M 1729.502647 71.602868 C 1545.099976 81.099998 1453.900024 92.500000 1279.420964 127.708774&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2811988692-3488378134)&#34; mask=&#34;url(#d2-2811988692)&#34; /&gt;&lt;text x=&#34;1501.500000&#34; y=&#34;92.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;code=0, data: base64&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KE5vZGUgLSZndDsgRklMRSlbMF0=&#34;&gt;&lt;path d=&#34;M 1277.500000 144.500000 C 1453.900024 144.500000 1543.099976 156.500000 1717.637370 203.460727&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2811988692-3488378134)&#34; mask=&#34;url(#d2-2811988692)&#34; /&gt;&lt;text x=&#34;1502.000000&#34; y=&#34;156.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;get_upload_token(txid)&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KEZJTEUgLSZndDsgTm9kZSlbMF0=&#34;&gt;&lt;path d=&#34;M 1719.529902 243.844546 C 1543.099976 274.700012 1453.099976 261.500000 1275.130432 179.179275&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2811988692-3488378134)&#34; mask=&#34;url(#d2-2811988692)&#34; /&gt;&lt;text x=&#34;1488.500000&#34; y=&#34;272.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;token, url&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KE5vZGUgLSZndDsgRklMRSlbMV0=&#34;&gt;&lt;path d=&#34;M 1277.449663 162.945887 C 1453.900024 203.300003 1543.099976 215.500000 1717.504016 223.320808&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2811988692-3488378134)&#34; mask=&#34;url(#d2-2811988692)&#34; /&gt;&lt;text x=&#34;1496.000000&#34; y=&#34;207.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;&lt;tspan x=&#34;1496.000000&#34; dy=&#34;0.000000&#34;&gt;upload(token, file)&lt;/tspan&gt;&lt;tspan x=&#34;1496.000000&#34; dy=&#34;18.500000&#34;&gt;→ key&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KE5vZGUgLSZndDsgSkRZKVsxXQ==&#34;&gt;&lt;path d=&#34;M 1119.154363 179.291763 C 972.997986 242.300003 874.099976 258.250000 781.250000 258.250000 C 688.400024 258.250000 262.700012 242.850006 107.230476 182.693451&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2811988692-3488378134)&#34; mask=&#34;url(#d2-2811988692)&#34; /&gt;&lt;text x=&#34;613.500000&#34; y=&#34;261.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;data/update(txid, 附件={value:[key]})&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KEpEWSAtJmd0OyBOb2RlKVswXQ==&#34;&gt;&lt;path d=&#34;M 105.490946 155.059910 C 262.700012 140.050003 367.299988 136.250000 464.500000 136.250000 C 561.700012 136.250000 972.799988 137.449997 1116.002125 142.119634&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2811988692-3488378134)&#34; mask=&#34;url(#d2-2811988692)&#34; /&gt;&lt;text x=&#34;611.500000&#34; y=&#34;142.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;OK&lt;/text&gt;&lt;/g&gt;&lt;mask id=&#34;d2-2811988692&#34; maskUnits=&#34;userSpaceOnUse&#34; x=&#34;-101&#34; y=&#34;-91&#34; width=&#34;2098&#34; height=&#34;468&#34;&gt;
&lt;rect x=&#34;-101&#34; y=&#34;-91&#34; width=&#34;2098&#34; height=&#34;468&#34; fill=&#34;white&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;22.500000&#34; y=&#34;150.500000&#34; width=&#34;59&#34; height=&#34;21&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;600.500000&#34; y=&#34;32.500000&#34; width=&#34;53&#34; height=&#34;21&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;1142.500000&#34; y=&#34;134.500000&#34; width=&#34;111&#34; height=&#34;21&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;1753.500000&#34; y=&#34;56.500000&#34; width=&#34;110&#34; height=&#34;21&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;1743.500000&#34; y=&#34;217.500000&#34; width=&#34;130&#34; height=&#34;21&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;279.000000&#34; y=&#34;29.000000&#34; width=&#34;106&#34; height=&#34;37&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;865.000000&#34; y=&#34;35.000000&#34; width=&#34;77&#34; height=&#34;21&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;586.000000&#34; y=&#34;186.000000&#34; width=&#34;54&#34; height=&#34;21&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;1434.000000&#34; y=&#34;23.000000&#34; width=&#34;126&#34; height=&#34;21&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;1432.000000&#34; y=&#34;76.000000&#34; width=&#34;139&#34; height=&#34;21&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;1425.000000&#34; y=&#34;140.000000&#34; width=&#34;154&#34; height=&#34;21&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;1457.000000&#34; y=&#34;256.000000&#34; width=&#34;63&#34; height=&#34;21&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;1436.000000&#34; y=&#34;191.000000&#34; width=&#34;120&#34; height=&#34;37&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;488.000000&#34; y=&#34;245.000000&#34; width=&#34;251&#34; height=&#34;21&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;601.000000&#34; y=&#34;126.000000&#34; width=&#34;21&#34; height=&#34;21&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;/mask&gt;&lt;/svg&gt;&lt;/svg&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;个人会员时序&lt;/strong&gt;（信息补齐与数组清洗）&lt;/p&gt;
&lt;div class=&#34;d2&#34;&gt;&lt;?xml version=&#34;1.0&#34; encoding=&#34;utf-8&#34;?&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; xmlns:xlink=&#34;http://www.w3.org/1999/xlink&#34; data-d2-version=&#34;v0.6.9-HEAD&#34; preserveAspectRatio=&#34;xMinYMin meet&#34; viewBox=&#34;0 0 2838 677&#34;&gt;&lt;svg class=&#34;d2-4128006593 d2-svg&#34; width=&#34;2838&#34; height=&#34;677&#34; viewBox=&#34;-101 -59 2838 677&#34;&gt;&lt;rect x=&#34;-101.000000&#34; y=&#34;-59.000000&#34; width=&#34;2838.000000&#34; height=&#34;677.000000&#34; rx=&#34;0.000000&#34; fill=&#34;#FFFFFF&#34; class=&#34; fill-N7&#34; stroke-width=&#34;0&#34; /&gt;&lt;style type=&#34;text/css&#34;&gt;&lt;![CDATA[
.d2-4128006593 .text-bold {
	font-family: &#34;d2-4128006593-font-bold&#34;;
}
@font-face {
	font-family: d2-4128006593-font-bold;
	src: url(&#34;data:application/font-woff;base64,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&#34;);
}
.d2-4128006593 .text-italic {
	font-family: &#34;d2-4128006593-font-italic&#34;;
}
@font-face {
	font-family: d2-4128006593-font-italic;
	src: url(&#34;data:application/font-woff;base64,d09GRgABAAAAABWIAAoAAAAAIIgAARhRAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAAA9AAAAGAAAABgW1SVeGNtYXAAAAFUAAAA+AAAAXBL0+mUZ2x5ZgAAAkwAAA3+AAATrPI89JpoZWFkAAAQTAAAADYAAAA2G7Ur2mhoZWEAABCEAAAAJAAAACQLeAjmaG10eAAAEKgAAADuAAABCHDvBSNsb2NhAAARmAAAAIYAAACGssKtvG1heHAAABIgAAAAIAAAACAAWgD2bmFtZQAAEkAAAAMmAAAIMgntVzNwb3N0AAAVaAAAACAAAAAg/8YAMgADAeEBkAAFAAACigJY//EASwKKAlgARAFeADIBIwAAAgsFAwMEAwkCBCAAAHcAAAADAAAAAAAAAABBREJPAAEAIP//Au7/BgAAA9gBESAAAZMAAAAAAeYClAAAACAAA3icnM7bStoBHMDxz3/qDuo2d3LnTXdSd1DnNre5eTEWCEUQ1E1ERNBLRPQSvUbQXReRRb1DVwVBL1Hd/QKxoNu+9x/4IpGSIC+dLKCtJK2opKLmk8++qGtoauvo+mdEz5gJU6bNmDVn0ZLl8koEA1e95FpD91/PqHGTF27+3MWRrLyClAxycRoncRwRu7ET29GPzdiI9TiI/diLtdiK/uHq4PoqJb767oc/GlrqOqpqPg6fm/66JiUt47obbrolKyfvtjvafvrmroJ77nvgoUeKHnviqWeee+GlV14rKXvjrXfe+6Dil9+6nAEAAP//AQAA//9yAz1reJx8WAlwG9d5fu8tuEuAIAlgcRAQQRBYYBfHAgSwAJYgCIAgeBOgeIiHJV6So9OyRduhj0g+lVFktVbpjJLarhu5sdtJ4kyjkdtO0yhOHbk1LUdu01E7SX104jh0YjWNzWEdJyPudt4CJEFO2xnMDmbB9/7v//7v/97/CKqAGwB0F7oACKAG9cAATAAItJMgBFFkLITAcQxFiRxNU+7H4fLjz6rye3/hff53vEPV+9g3B/9z/iV0Yf04fHTmkUekfWcPHpy8eVPyw3+7CQAASH4TAPivaAmogR4AmhI4luUYkoRQoBmOoX7edlWj0qhUNkH6Efzc3sKI4ZdH4YMLC7FjrcnD0ghaWl+4fh0ACJLyGgqi54ADgCoXy8ZjGSREzRaKZRlXHTIZzWYhmhAtJAldg0cS4b0PFVpHGhJ0gm2b63S7BlLefDPjntHmHxgqXri/V/T7mrn05x5oT83Em3dFHUGMFTAAoISClcYMCFGzyUiSDCdEE4l4jGUY5vQXnnhy/OKJiYnxU/nDtyfQ0pcevP+vDnbs+er+maM43xLOFHoOuBSc/wdMkREFgiQhf99D4X2PjaRGrCItejMHut1MIetO0p6ztW8l3bPapx4YunB/zybYttlEg+6vO6QPmjw4lizJa3AZLYF6ACwulhNLm9N464ttoyahLumLZmqnh2Z1B7ViKOD2Debgdck7fgJAJddJtAS0SqaEAAWKZgiKYk4P5QjYP/XpV0YefiKIlqQrsOuWdBweOPOOkh9edwUtAauyjrYIOB5DJxIiQxEMgWtLEczpmaRZ1XN15vRgQW3Tqna/yqfNKrKuegAtSV87exYeWF+A9/DHAl+WXoTTX+aP8tL58t6H0FKZfdoiJJRstnYd+qpfRdZpugdPFy8EVGS9pgctSdNPRO4U4PT6AnzhSeFYVLqo1LJdXkOz6DmgA82VlTCbjHWIi2YQrmepItBx12JoYrFn4GAsNPH5fHwy4xoYws9+7R+fGlxa7O46OTb41GJ3vv3AYnL/YurAYtv8fZt6CaIlUAOMlXphCFqIbgjmu9P3DDy252gsN3fwWKHvIFoamBg+HJE+g73Du5NCSTNaeQ1K6Dngr6xjPMZyHBZ6IrGpIJI0Gc0Wi1mJ82F+wZu0j4vtI0FPwZ+KT6dS8w7B2hPyxO0Rd6ElljqkbWsLBKJdre6oOWTrF6Oj0Zg31ORzhHexLeZgY6/Yti8GIJgBAMXREqBwFozopBjiLxZfqYVv1v5gERXz+fWXSzjHAEBNJb0JNCFYzGalRKIAiT8Q7hgOquvVhIVvODUm/VcMArj0fXc36+l1X5EWZIUvTl6Dn8FVYMTMWba6QxAFghEZkuRwb2y2yssdBX5gVuDSehWd2Z+tVjFTBna3mzdFG935uCOi3Tfe8+C04HWmJVufp6Uj1PJT1uXvn4lm04r3AIe8Bj9Gy8CEHQ4zy1AMLVCUoFC6TQkkRZnNH3FpPWHMni9yZuTeE1TCx935eFPY5xphQkZB63Wm0fIr8/bA3gkcusPfPyNk0n7Ph6wLQOCR1+BluAoat2W3VbmyQ/1k9+f44v44324O0qw9PJFItjUnzC5bUXtopuve8RaXNWwxdS3kO3ts+qjRAza4Q1xFLlvc/f/ktRkIHVtcKrM35NnJHtc898p66076kJLLD+AqsAFPZTysPMpJbrotISjWiDP8YOJocHA6LOaatFXSa+rmvN+etDTZR56REWHwMfFZ7bH93QujfGg42ijUZYc9Vr1gckBPTUNtY8QxDiAIAACfRDeARdFhFlUqn6IEiiEC49manK5+KG3zG3Zpdumdvmr9Ae3t4/AbyaqRgbHaGpHSRANjGWkKcwZlN1yFq8ABQtscUiRJZrv6SJLYxt5LkQnG3djtzQzUWdk9LenhQP90hM3oCTp7iL43yYy4AuZII5MTmlreYe1xi6vQcYTlJ8bzn78tivVIzB2CzoD/n1mXr2cqnEqV+scBAPwJWi5755YOKcVA4zGcJuE4XwzrVL5RPhOvzhTaVaq+xr5QN1q+mWZacq0Ot3QN8saG2kF/SPqGLOM9we/RZcSCDACABNk+AIAsy1+UOfBb5X1H6X33FoZfo+VN36ex73MU5ThfnEe/m/rh4tDMgg0tS3YI35R+8et7TgIIeHkN/B4tAwNmMR4rnTAmY1kCd+bIk8WHINQTJAU1Zm1Wb0V3rD9FqQkDRCmVajMu+giuYo/DMUupW8oEkNsYqCRjf5ZSsWNsW6SqZcqTTqhUmWJapeo19fHdmJsec1+gG670uyOilxdyrfomYyU/W9+2+IeroKESw076cUTfaGgb+0qEneRv9iV8G66CemCv7JOSuZTGhlLz39g9yw/MRnfP8YOz/uCIkIjih/bIvu57x0OlZ0fnQldnb36hq7NHmZ0+lQX4MVwt9TxVgbgOMYqbUfQ2/9Kcy5KEZzyktH6UbaeRwfHnlf51Hb3c4QiWG99x5CKEZQNjf+lxbuQjKB6txKwSsbHs6JXtnQKdzibkmQpVevW5i5VGc/3i/WzLplWvFyHcbtSlupyCq0BXURcLxW7Uo0ZlLwStpl06m7vgSMOVGT6t7qrOpqTrAMq35DX4EFwF3M6zc+fRiU/O0sH5QmTGGrZ0sP60rzWU5Pv50EBjiBacbCTRnImFR7UxL+vwhhgb57BlfIGcx93kNdqCjibW4Grng10ejLldXoNT6Pim1ydE7FiC4lIVXv/djpgKJntrCu7crpPah5JEo6vOVqPXtWizwXpbLTQkq86cyUgfGQxNTZoqkarHe7fKa/A3cAX7xMbeWx1Hl+3+pc1u6LP38t0FfEB692g7Rb2DhgnpBm3FMoVTkm2AKc8ZKQDgz+AKqAUAd375+KYF+Hhvwa0iVSq9m/6jorQOV6QPmUHG3e+GVslWWtsDAHodrgDnjrVb3wiGKM32FHGUKegghKr6XbpHB/UIQVWdTfdI37tzdcpbe/19cEV639XlcnW5YFPFNxvUMH1udx8jfQqgfAMA+C8lHhiaq5g3KAtTvkdQFP/v+4b81XWUqr65fnxs+fbdfLVeo9K56FmIPjhu5kxGn+n4f39yjzlkNvOWe/Hc/EO5Bf4crgAbAJSiGeVQ2MZIHSI1zXVWg8GTsxrGCmxVNaHSewx/WJDet6b6fkxRSXU6ysAPpd84iwxTcEH9+ictRb7UQ355Db6FzgE9ZsuydVv5X4bP5Wivx98/H4/2uH39cxEuH7PzIeWpbb09c9ufneptuz2z9/mTPemuu8925Se77z7b1TkJoPwpAPA1dA7nwIgZomwC3KZBUE5KUz1/frZFiDfnXBw/GR6d8o+eGoNGbWjk5IHbQny70xFmfbd1xWfnF/o6MS+/ldfgG+gc8O7oJUbcdDKK23BsU6mZvpc72CRYBiJdk3sOanfv46KCPW/nxmaGJwcH4qn0UW0u6HXFBpNCZ5sv3eRPNFqE7HBnetqk0vdF07dFMF9Y9NfRw0CD52gnIzpFKBACxXgEEd8rSJKCg32M9Cs1nN0zPKYdk+R/YEkDpTJ6jZdi8FlpIZP5vj3nbIw1lLQKsCejh/Hkv5XHZgK0k2KojYOHvJKbtUfNuVZ/H5+NOfhm5zAM1P4qpvdb++byd2mzQZ8z5i8KmXad3gaDnVeqteNjhRNppc6CvAZvonOgHvAAiMbKKKTRsu2Wig+BraAnU1G2nRGi1t1ueDQxHAgO39kR7zbGXO3RyWydc4+zd1ycu9Y93jLgFXOulhrL+637swdeuL8z0uxry5/cw7qnhjLHOnCuFnkNnAXHQc2GV5RC9JitXKO5waNtNNt4u9nK4/r+TJ4GS+A49lmsFJGpWGCsaUlSyNzE2G2Ne18MGdrdNrOVczf1LyjzhBJnGb6LOBACHfBuQOKZCkDwKPwW+ARdBFUA0LgzqUct9YO0H37rmenpZ5Q73XtQA62AAAD/zGjfrn2vPA/J78hfhJfkv8G/UaKTctfANzSnolFl35w8DCfR28rdtmTlooVULtCWLzQ4xSMDwWPH1ca6Sx0vjC6+8b0Z6xnpP74WOjTP4n1vyMPgo/JaLmHA8ykWAWYeBo/doTbUR/EWl2xnoPNPWw7NsXTH10cXr/0djlstH4Ez6DV8F7LQ2MwFqvrb36Tufmah5mliOnhLCpaw/5N8BLKlv6NEfGsSiIjmxJ8sVL/07aeDBAreerGkxWb5CJxHr4Hw5nSw0VCi8hEEStGL8jGVLAIfHwL1pZBfb9LvCtS4vEaVWqupT7WHNDavS1Ndq9ZwTINRZ9RZmhs0T7P+xoFil9nERBs8hvC0MJQMhsKBfaFIQq2qdpht/UPdDdaGMu4fyUegtoSHErHvlYDE2U1sjFi2EAyDcpFlcExMbfMy6uq66hqWsdI6o87cbNXwLRsgfbRKXVOjS6WeDvKRwL5QtBy9b6i7wdYQ5HyNA0PdZpqJNrjp8Eys2FrC87fyPPw6+kdFA1CAffByq1R8njh069kSf2FwGF5DfqxvMc7EhbhgEkyM6b2//E77dy4dfj159WrydazPMLgKr8EfIxbkwDFAghz4irLeKH+MMqgKqAGo4kRn3MmJ0ARbuatSB/z7qxwkdf5Xs6/6pc+qNudUcB2uYDx4PnbsLx6AK8ohCEEvGgSX0WWMha5onQfoJsZitDNo0GK2OhvM1mYAlfn7LbiCNUjt+N9MxMLorRqjrtGpOVE8UZf/qUadJKlIALnX3+2ZwDnDELwGD2MMdNxpCsNnYSiZBAD8DwAAAP//AQAA//95YR7dAAAAAQAAAAEYUcj0dplfDzz1AAED6AAAAADYXaDMAAAAAN1mLzf+vf7dCB0DyQACAAMAAgAAAAAAAAABAAAD2P7vAAAIQP69/bwIHQPoAML/0QAAAAAAAAAAAAAAQnicJM4xL3NhGMbx/3V3eZOXkJAcLI94zulJVKKJRaOLAYuBEJtPYLXYDD6B72GyGIulCWLp2OFpzAwdSkTOLa3hyjX9k5+dk9MFVf5kdVp2QLR9Wup6ZetEuyfaGdEuaFudqG+mVHGqF45skdIWCLqlsIxSAwot0bA5ZP8JvBP48Cv1CXyxVgsEmyZYjdIyH417nRB07T/aoW2zbKrDlj2yqxvvqeMPSqwq+UjJP5WYUQIlNhiSMfTB33OpBlFv3ldkW4X3lPNPub9qhWUV/qxjv1OiOZ4dMj+xwd7El2j+AgAA//8BAAD//7X7SEEAAAAAAC4ALgBSAIQApgDcAPoBFgFEAWoBnAHAAgACFAI0AmwCpALSAwoDRANsA7QD3gPqA/YEEAQyBHQEngTMBQYFQAVeBZoFyAX0BhIGTAZ4BqgG2gcEB0AHaAecB94H9AgSCB4ILgg8CEoIaAiGCJoIrgj2CT4JTgliCW4JhgmUCaoJyAnWAAAAAQAAAEIAjAAMAGYABwABAAAAAAAAAAAAAAAAAAQAA3icnJTbThtXFIY/B9tterqoUERu0L5MpWRMoxAl4cqUoIyKcOpxepCqSoM9PojxzMgzmJIn6HXfom+Rqz5Gn6LqdbV/L4MdRUEgBPx79jr8a61/bWCT/9igVr8L/N2cG66x3fzZ8B2+aB4Z3mC/+ZnhOg8b/xhuMGi8NdzkQaNr+BPe1f80/ClP6r8ZvstW/dDw5zyubxr+csPxr+GveMK7Ba7BM/4wXGOLwvAdNvnV8Ab3sJi1OvfYMdzga7YNN9kGekyoSJmQMcIxZMKIM2YklEQkzJgwJGGAI6RNSqWvGbGQY/TBrzERFTNiRRxT4UiJSIkpGVvEt/LKea2MQ51mdtemYkzMiTxOiclw5IzIyUg4VZyKioIXtGhR0hffgoqSgJIJKQE5M0a06HDIET3GTChxHCqSZxaRM6TinFj5nVn4zvRJyCiN1RkZA/F04pfIO+QIR4dCtquRj9YiPMTxo7w9t1y23xLo160wW8+7ZBMzVz9TdSXVzbkmONatz9vmB+GKF7hb9WedyfU9Guh/pcgnnGn+A00qE5MM57ZoE0lBkbuPY1/nkEgd+YmQHq/o8Iaezm26dGlzTI+Ql/Lt0MXxHR2OOZBHKLy4O5RijvkFx/eEsvGxE+vPYmIJv1OYuktxnKmOKYV67pkHqjVRhTefsN+hfE0dpXz62iNv6TS/THsWMzJVFGI4VS+X2iitfwNTxFS1+Nle3fttmNvuLbf4glw77NW64OQnt2B03VSD9zRzrp+AmAE5J7LokzOlRcWFeL8m5owUx4G690pbUtG+9PF5LqSShKkYhGSKM6PQ39h0Exn3/prunb0lA/l7pqeXVd0mi1Ovrmb0Rt1b3kXW5WRlAi2bar6ipr64Zqb9RDu1yj+Sb6nXLecRoeIudvtDr8AOz9llj7Gy9HUzv7zzr4S32FMHTklkNZSmfQ2PCdgl4Cm77PKcp+/1csnGGR+3xmc1f5sD9umwd201C9sO+7xci/bxzH+J7Y7qcTy6PD279TQf3EC132jfrt7NribnpzG3aFfbcUzM1HNxW6s1ufsE/wMAAP//AQAA//9yoVFAAAAAAwAA//UAAP/OADIAAAAAAAAAAAAAAAAAAAAAAAAAAA==&#34;);
}]]&gt;&lt;/style&gt;&lt;style type=&#34;text/css&#34;&gt;&lt;![CDATA[.shape {
  shape-rendering: geometricPrecision;
  stroke-linejoin: round;
}
.connection {
  stroke-linecap: round;
  stroke-linejoin: round;
}
.blend {
  mix-blend-mode: multiply;
  opacity: 0.5;
}

		.d2-4128006593 .fill-N1{fill:#0A0F25;}
		.d2-4128006593 .fill-N2{fill:#676C7E;}
		.d2-4128006593 .fill-N3{fill:#9499AB;}
		.d2-4128006593 .fill-N4{fill:#CFD2DD;}
		.d2-4128006593 .fill-N5{fill:#DEE1EB;}
		.d2-4128006593 .fill-N6{fill:#EEF1F8;}
		.d2-4128006593 .fill-N7{fill:#FFFFFF;}
		.d2-4128006593 .fill-B1{fill:#000536;}
		.d2-4128006593 .fill-B2{fill:#0F66B7;}
		.d2-4128006593 .fill-B3{fill:#4393DD;}
		.d2-4128006593 .fill-B4{fill:#87BFF3;}
		.d2-4128006593 .fill-B5{fill:#BCDDFB;}
		.d2-4128006593 .fill-B6{fill:#E5F3FF;}
		.d2-4128006593 .fill-AA2{fill:#076F6F;}
		.d2-4128006593 .fill-AA4{fill:#77DEDE;}
		.d2-4128006593 .fill-AA5{fill:#C3F8F8;}
		.d2-4128006593 .fill-AB4{fill:#C1A2F3;}
		.d2-4128006593 .fill-AB5{fill:#DACEFB;}
		.d2-4128006593 .stroke-N1{stroke:#0A0F25;}
		.d2-4128006593 .stroke-N2{stroke:#676C7E;}
		.d2-4128006593 .stroke-N3{stroke:#9499AB;}
		.d2-4128006593 .stroke-N4{stroke:#CFD2DD;}
		.d2-4128006593 .stroke-N5{stroke:#DEE1EB;}
		.d2-4128006593 .stroke-N6{stroke:#EEF1F8;}
		.d2-4128006593 .stroke-N7{stroke:#FFFFFF;}
		.d2-4128006593 .stroke-B1{stroke:#000536;}
		.d2-4128006593 .stroke-B2{stroke:#0F66B7;}
		.d2-4128006593 .stroke-B3{stroke:#4393DD;}
		.d2-4128006593 .stroke-B4{stroke:#87BFF3;}
		.d2-4128006593 .stroke-B5{stroke:#BCDDFB;}
		.d2-4128006593 .stroke-B6{stroke:#E5F3FF;}
		.d2-4128006593 .stroke-AA2{stroke:#076F6F;}
		.d2-4128006593 .stroke-AA4{stroke:#77DEDE;}
		.d2-4128006593 .stroke-AA5{stroke:#C3F8F8;}
		.d2-4128006593 .stroke-AB4{stroke:#C1A2F3;}
		.d2-4128006593 .stroke-AB5{stroke:#DACEFB;}
		.d2-4128006593 .background-color-N1{background-color:#0A0F25;}
		.d2-4128006593 .background-color-N2{background-color:#676C7E;}
		.d2-4128006593 .background-color-N3{background-color:#9499AB;}
		.d2-4128006593 .background-color-N4{background-color:#CFD2DD;}
		.d2-4128006593 .background-color-N5{background-color:#DEE1EB;}
		.d2-4128006593 .background-color-N6{background-color:#EEF1F8;}
		.d2-4128006593 .background-color-N7{background-color:#FFFFFF;}
		.d2-4128006593 .background-color-B1{background-color:#000536;}
		.d2-4128006593 .background-color-B2{background-color:#0F66B7;}
		.d2-4128006593 .background-color-B3{background-color:#4393DD;}
		.d2-4128006593 .background-color-B4{background-color:#87BFF3;}
		.d2-4128006593 .background-color-B5{background-color:#BCDDFB;}
		.d2-4128006593 .background-color-B6{background-color:#E5F3FF;}
		.d2-4128006593 .background-color-AA2{background-color:#076F6F;}
		.d2-4128006593 .background-color-AA4{background-color:#77DEDE;}
		.d2-4128006593 .background-color-AA5{background-color:#C3F8F8;}
		.d2-4128006593 .background-color-AB4{background-color:#C1A2F3;}
		.d2-4128006593 .background-color-AB5{background-color:#DACEFB;}
		.d2-4128006593 .color-N1{color:#0A0F25;}
		.d2-4128006593 .color-N2{color:#676C7E;}
		.d2-4128006593 .color-N3{color:#9499AB;}
		.d2-4128006593 .color-N4{color:#CFD2DD;}
		.d2-4128006593 .color-N5{color:#DEE1EB;}
		.d2-4128006593 .color-N6{color:#EEF1F8;}
		.d2-4128006593 .color-N7{color:#FFFFFF;}
		.d2-4128006593 .color-B1{color:#000536;}
		.d2-4128006593 .color-B2{color:#0F66B7;}
		.d2-4128006593 .color-B3{color:#4393DD;}
		.d2-4128006593 .color-B4{color:#87BFF3;}
		.d2-4128006593 .color-B5{color:#BCDDFB;}
		.d2-4128006593 .color-B6{color:#E5F3FF;}
		.d2-4128006593 .color-AA2{color:#076F6F;}
		.d2-4128006593 .color-AA4{color:#77DEDE;}
		.d2-4128006593 .color-AA5{color:#C3F8F8;}
		.d2-4128006593 .color-AB4{color:#C1A2F3;}
		.d2-4128006593 .color-AB5{color:#DACEFB;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#000536;--color-border-muted:#0F66B7;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0F66B7;--color-accent-emphasis:#0F66B7;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-4128006593);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-dark-d2-4128006593);mix-blend-mode:overlay}.sketch-overlay-B3{fill:url(#streaks-dark-d2-4128006593);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-normal-d2-4128006593);mix-blend-mode:color-burn}.sketch-overlay-B5{fill:url(#streaks-normal-d2-4128006593);mix-blend-mode:color-burn}.sketch-overlay-B6{fill:url(#streaks-bright-d2-4128006593);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-4128006593);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-normal-d2-4128006593);mix-blend-mode:color-burn}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-4128006593);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-normal-d2-4128006593);mix-blend-mode:color-burn}.sketch-overlay-AB5{fill:url(#streaks-normal-d2-4128006593);mix-blend-mode:color-burn}.sketch-overlay-N1{fill:url(#streaks-darker-d2-4128006593);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-4128006593);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-4128006593);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-4128006593);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-4128006593);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-4128006593);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-4128006593);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]&gt;&lt;/style&gt;&lt;g class=&#34;SkRZ&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;0.000000&#34; y=&#34;313.000000&#34; width=&#34;145.000000&#34; height=&#34;66.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;72.500000&#34; y=&#34;351.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;简道云主表&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;QXBhY2hl&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;619.000000&#34; y=&#34;179.000000&#34; width=&#34;98.000000&#34; height=&#34;66.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;668.000000&#34; y=&#34;217.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;Apache&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;Tm9kZQ==&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;1161.000000&#34; y=&#34;297.000000&#34; width=&#34;156.000000&#34; height=&#34;66.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;1239.000000&#34; y=&#34;335.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;Node /webhook&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;SU5GTw==&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;1792.000000&#34; y=&#34;42.000000&#34; width=&#34;185.000000&#34; height=&#34;98.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;1884.500000&#34; y=&#34;80.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;&lt;tspan x=&#34;1884.500000&#34; dy=&#34;0.000000&#34;&gt;会员基本信息表&lt;/tspan&gt;&lt;tspan x=&#34;1884.500000&#34; dy=&#34;17.666667&#34;&gt;v5 data/list&lt;/tspan&gt;&lt;tspan x=&#34;1884.500000&#34; dy=&#34;17.666667&#34;&gt;filter: number eq&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;Q2xlYW4=&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;1789.000000&#34; y=&#34;200.000000&#34; width=&#34;191.000000&#34; height=&#34;98.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;1884.500000&#34; y=&#34;238.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;&lt;tspan x=&#34;1884.500000&#34; dy=&#34;0.000000&#34;&gt;processMemberData&lt;/tspan&gt;&lt;tspan x=&#34;1884.500000&#34; dy=&#34;17.666667&#34;&gt;title.join(&amp;#39;, &amp;#39;)&lt;/tspan&gt;&lt;tspan x=&#34;1884.500000&#34; dy=&#34;17.666667&#34;&gt;photo[0].url&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;UEhQ&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;2446.000000&#34; y=&#34;337.000000&#34; width=&#34;190.000000&#34; height=&#34;82.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;2541.000000&#34; y=&#34;375.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;&lt;tspan x=&#34;2541.000000&#34; dy=&#34;0.000000&#34;&gt;Geren300.php&lt;/tspan&gt;&lt;tspan x=&#34;2541.000000&#34; dy=&#34;18.500000&#34;&gt;multipart/form-data&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;RklMRQ==&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;1797.000000&#34; y=&#34;365.000000&#34; width=&#34;175.000000&#34; height=&#34;66.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;1884.500000&#34; y=&#34;403.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;JDY v5 文件接口&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KEpEWSAtJmd0OyBBcGFjaGUpWzBd&#34;&gt;&lt;marker id=&#34;mk-d2-4128006593-3488378134&#34; markerWidth=&#34;10.000000&#34; markerHeight=&#34;12.000000&#34; refX=&#34;7.000000&#34; refY=&#34;6.000000&#34; viewBox=&#34;0.000000 0.000000 10.000000 12.000000&#34; orient=&#34;auto&#34; markerUnits=&#34;userSpaceOnUse&#34;&gt; &lt;polygon points=&#34;0.000000,0.000000 10.000000,6.000000 0.000000,12.000000&#34; fill=&#34;#000536&#34; class=&#34;connection fill-B1&#34; stroke-width=&#34;2&#34; /&gt; &lt;/marker&gt;&lt;path d=&#34;M 140.906146 311.862190 C 302.622009 231.750000 398.500000 211.500000 614.500000 211.500000&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-4128006593-3488378134)&#34; mask=&#34;url(#d2-4128006593)&#34; /&gt;&lt;text x=&#34;369.000000&#34; y=&#34;215.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;&lt;tspan x=&#34;369.000000&#34; dy=&#34;0.000000&#34;&gt;POST /webhook&lt;/tspan&gt;&lt;tspan x=&#34;369.000000&#34; dy=&#34;18.500000&#34;&gt;x-jdy-signature&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KEFwYWNoZSAtJmd0OyBOb2RlKVswXQ==&#34;&gt;&lt;path d=&#34;M 719.500000 211.500000 C 925.099976 211.500000 1014.744995 228.500000 1162.080863 294.857384&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-4128006593-3488378134)&#34; mask=&#34;url(#d2-4128006593)&#34; /&gt;&lt;text x=&#34;949.500000&#34; y=&#34;222.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;反向代理&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KE5vZGUgLSZndDsgSkRZKVswXQ==&#34;&gt;&lt;path d=&#34;M 1159.019673 340.279829 C 1013.799988 360.799988 915.099976 366.000000 822.250000 366.000000 C 729.400024 366.000000 303.700012 363.000000 148.488685 351.300655&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-4128006593-3488378134)&#34; mask=&#34;url(#d2-4128006593)&#34; /&gt;&lt;text x=&#34;653.000000&#34; y=&#34;371.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;ACK 200&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KE5vZGUgLSZndDsgSU5GTylbMF0=&#34;&gt;&lt;path d=&#34;M 1275.827256 295.135530 C 1497.272949 88.500000 1600.800049 44.299999 1788.052215 74.855801&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-4128006593-3488378134)&#34; mask=&#34;url(#d2-4128006593)&#34; /&gt;&lt;text x=&#34;1497.500000&#34; y=&#34;78.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;&lt;tspan x=&#34;1497.500000&#34; dy=&#34;0.000000&#34;&gt;fields: number, gender,&lt;/tspan&gt;&lt;tspan x=&#34;1497.500000&#34; dy=&#34;17.666667&#34;&gt;id_card_number, employer,&lt;/tspan&gt;&lt;tspan x=&#34;1497.500000&#34; dy=&#34;17.666667&#34;&gt;title, photo&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KElORk8gLSZndDsgTm9kZSlbMF0=&#34;&gt;&lt;path d=&#34;M 1790.012642 101.724513 C 1600.800049 123.099998 1500.510010 162.100006 1293.920892 294.343479&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-4128006593-3488378134)&#34; mask=&#34;url(#d2-4128006593)&#34; /&gt;&lt;text x=&#34;1524.000000&#34; y=&#34;158.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;记录（含数组字段）&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KE5vZGUgLSZndDsgQ2xlYW4pWzBd&#34;&gt;&lt;path d=&#34;M 1318.938337 308.757203 C 1505.800049 261.250000 1600.199951 249.250000 1785.000000 249.250000&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-4128006593-3488378134)&#34; mask=&#34;url(#d2-4128006593)&#34; /&gt;&lt;text x=&#34;1550.000000&#34; y=&#34;261.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;数组字段清洗&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KENsZWFuIC0mZ3Q7IFBIUClbMF0=&#34;&gt;&lt;path d=&#34;M 1982.000000 249.250000 C 2166.399902 249.250000 2259.600098 267.450012 2442.274086 338.794814&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-4128006593-3488378134)&#34; mask=&#34;url(#d2-4128006593)&#34; /&gt;&lt;text x=&#34;2219.500000&#34; y=&#34;257.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;&lt;tspan x=&#34;2219.500000&#34; dy=&#34;0.000000&#34;&gt;gerenname, gerennumber,&lt;/tspan&gt;&lt;tspan x=&#34;2219.500000&#34; dy=&#34;18.500000&#34;&gt;... + gerenphoto&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KFBIUCAtJmd0OyBOb2RlKVswXQ==&#34;&gt;&lt;path d=&#34;M 2444.153612 417.268668 C 2259.600098 494.100006 2147.300049 513.500000 2048.750000 513.500000 C 1950.199951 513.500000 1501.800049 483.299988 1300.445313 364.532196&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-4128006593-3488378134)&#34; mask=&#34;url(#d2-4128006593)&#34; /&gt;&lt;text x=&#34;1863.500000&#34; y=&#34;513.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;code=0, base64&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KE5vZGUgLSZndDsgRklMRSlbMF0=&#34;&gt;&lt;path d=&#34;M 1319.000000 329.500000 C 1505.800049 329.500000 1601.800049 339.500000 1793.081427 378.697014&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-4128006593-3488378134)&#34; mask=&#34;url(#d2-4128006593)&#34; /&gt;&lt;text x=&#34;1559.000000&#34; y=&#34;341.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;get_upload_token(txid)&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KEZJTEUgLSZndDsgTm9kZSlbMF0=&#34;&gt;&lt;path d=&#34;M 1795.026345 411.823550 C 1601.800049 443.500000 1505.800049 433.100006 1320.726832 360.952833&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-4128006593-3488378134)&#34; mask=&#34;url(#d2-4128006593)&#34; /&gt;&lt;text x=&#34;1551.500000&#34; y=&#34;444.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;token, url&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KE5vZGUgLSZndDsgRklMRSlbMV0=&#34;&gt;&lt;path d=&#34;M 1318.963057 344.882630 C 1505.800049 381.299988 1601.800049 391.500000 1793.000840 395.418050&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-4128006593-3488378134)&#34; mask=&#34;url(#d2-4128006593)&#34; /&gt;&lt;text x=&#34;1555.000000&#34; y=&#34;392.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;upload→key&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KE5vZGUgLSZndDsgSkRZKVsxXQ==&#34;&gt;&lt;path d=&#34;M 1159.124011 359.693300 C 1013.799988 413.399994 915.099976 427.000000 822.250000 427.000000 C 729.400024 427.000000 303.700012 415.000000 148.329712 368.154687&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-4128006593-3488378134)&#34; mask=&#34;url(#d2-4128006593)&#34; /&gt;&lt;text x=&#34;654.500000&#34; y=&#34;430.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;data/update(txid, 附件={value:[key]})&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KEpEWSAtJmd0OyBOb2RlKVswXQ==&#34;&gt;&lt;path d=&#34;M 146.477653 334.701861 C 303.700012 311.000000 408.299988 305.000000 505.500000 305.000000 C 602.700012 305.000000 1013.799988 308.399994 1157.016964 321.632002&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-4128006593-3488378134)&#34; mask=&#34;url(#d2-4128006593)&#34; /&gt;&lt;text x=&#34;652.500000&#34; y=&#34;311.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;OK&lt;/text&gt;&lt;/g&gt;&lt;mask id=&#34;d2-4128006593&#34; maskUnits=&#34;userSpaceOnUse&#34; x=&#34;-101&#34; y=&#34;-59&#34; width=&#34;2838&#34; height=&#34;677&#34;&gt;
&lt;rect x=&#34;-101&#34; y=&#34;-59&#34; width=&#34;2838&#34; height=&#34;677&#34; fill=&#34;white&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;22.500000&#34; y=&#34;335.500000&#34; width=&#34;100&#34; height=&#34;21&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;641.500000&#34; y=&#34;201.500000&#34; width=&#34;53&#34; height=&#34;21&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;1183.500000&#34; y=&#34;319.500000&#34; width=&#34;111&#34; height=&#34;21&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;1814.500000&#34; y=&#34;64.500000&#34; width=&#34;140&#34; height=&#34;53&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;1811.500000&#34; y=&#34;222.500000&#34; width=&#34;146&#34; height=&#34;53&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;2468.500000&#34; y=&#34;359.500000&#34; width=&#34;145&#34; height=&#34;37&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;1819.500000&#34; y=&#34;387.500000&#34; width=&#34;130&#34; height=&#34;21&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;316.000000&#34; y=&#34;199.000000&#34; width=&#34;106&#34; height=&#34;37&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;911.000000&#34; y=&#34;206.000000&#34; width=&#34;77&#34; height=&#34;21&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;626.000000&#34; y=&#34;355.000000&#34; width=&#34;54&#34; height=&#34;21&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;1407.000000&#34; y=&#34;62.000000&#34; width=&#34;181&#34; height=&#34;53&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;1437.000000&#34; y=&#34;142.000000&#34; width=&#34;174&#34; height=&#34;21&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;1492.000000&#34; y=&#34;245.000000&#34; width=&#34;116&#34; height=&#34;21&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;2132.000000&#34; y=&#34;241.000000&#34; width=&#34;175&#34; height=&#34;37&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;1813.000000&#34; y=&#34;497.000000&#34; width=&#34;101&#34; height=&#34;21&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;1482.000000&#34; y=&#34;325.000000&#34; width=&#34;154&#34; height=&#34;21&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;1520.000000&#34; y=&#34;428.000000&#34; width=&#34;63&#34; height=&#34;21&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;1515.000000&#34; y=&#34;376.000000&#34; width=&#34;80&#34; height=&#34;21&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;529.000000&#34; y=&#34;414.000000&#34; width=&#34;251&#34; height=&#34;21&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;642.000000&#34; y=&#34;295.000000&#34; width=&#34;21&#34; height=&#34;21&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;/mask&gt;&lt;/svg&gt;&lt;/svg&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;简道云 v5 文件事务：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;先 POST 获取上传凭证与地址（token+url）与 transaction_id。&lt;/li&gt;
&lt;li&gt;用 multipart/form-data 上传文件得到 key。&lt;/li&gt;
&lt;li&gt;用同一 transaction_id 调用 data/update，将附件字段写入 { value: [key] }。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;字段来源：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;主表提供 full_name（或 name）、number、exp、member_type。&lt;/li&gt;
&lt;li&gt;个人会员需补齐：gender、id_card_number、employer、title、photo（“查询多条数据接口”按 number eq筛选，fields传别名；将 title 数组 join 为字符串、photo取第1张url）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Webhook执行模型：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;顶部做&lt;strong&gt;签名校验&lt;/strong&gt;与&lt;strong&gt;来源&lt;strong&gt;&lt;strong&gt;IP&lt;/strong&gt;&lt;/strong&gt;白名单&lt;/strong&gt;（可选）。&lt;/li&gt;
&lt;li&gt;立即返回 200（ACK），后台 setImmediate 执行“查询→生成→上传→回填”。&lt;/li&gt;
&lt;li&gt;幂等锁 processing + 看门狗（超时自动释放）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;签名校验&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;d2&#34;&gt;&lt;?xml version=&#34;1.0&#34; encoding=&#34;utf-8&#34;?&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; xmlns:xlink=&#34;http://www.w3.org/1999/xlink&#34; data-d2-version=&#34;v0.6.9-HEAD&#34; preserveAspectRatio=&#34;xMinYMin meet&#34; viewBox=&#34;0 0 1697 410&#34;&gt;&lt;svg class=&#34;d2-3015842260 d2-svg&#34; width=&#34;1697&#34; height=&#34;410&#34; viewBox=&#34;-101 -101 1697 410&#34;&gt;&lt;rect x=&#34;-101.000000&#34; y=&#34;-101.000000&#34; width=&#34;1697.000000&#34; height=&#34;410.000000&#34; rx=&#34;0.000000&#34; fill=&#34;#FFFFFF&#34; class=&#34; fill-N7&#34; stroke-width=&#34;0&#34; /&gt;&lt;style type=&#34;text/css&#34;&gt;&lt;![CDATA[
.d2-3015842260 .text-bold {
	font-family: &#34;d2-3015842260-font-bold&#34;;
}
@font-face {
	font-family: d2-3015842260-font-bold;
	src: url(&#34;data:application/font-woff;base64,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&#34;);
}
.d2-3015842260 .text-italic {
	font-family: &#34;d2-3015842260-font-italic&#34;;
}
@font-face {
	font-family: d2-3015842260-font-italic;
	src: url(&#34;data:application/font-woff;base64,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&#34;);
}]]&gt;&lt;/style&gt;&lt;style type=&#34;text/css&#34;&gt;&lt;![CDATA[.shape {
  shape-rendering: geometricPrecision;
  stroke-linejoin: round;
}
.connection {
  stroke-linecap: round;
  stroke-linejoin: round;
}
.blend {
  mix-blend-mode: multiply;
  opacity: 0.5;
}

		.d2-3015842260 .fill-N1{fill:#0A0F25;}
		.d2-3015842260 .fill-N2{fill:#676C7E;}
		.d2-3015842260 .fill-N3{fill:#9499AB;}
		.d2-3015842260 .fill-N4{fill:#CFD2DD;}
		.d2-3015842260 .fill-N5{fill:#DEE1EB;}
		.d2-3015842260 .fill-N6{fill:#EEF1F8;}
		.d2-3015842260 .fill-N7{fill:#FFFFFF;}
		.d2-3015842260 .fill-B1{fill:#000536;}
		.d2-3015842260 .fill-B2{fill:#0F66B7;}
		.d2-3015842260 .fill-B3{fill:#4393DD;}
		.d2-3015842260 .fill-B4{fill:#87BFF3;}
		.d2-3015842260 .fill-B5{fill:#BCDDFB;}
		.d2-3015842260 .fill-B6{fill:#E5F3FF;}
		.d2-3015842260 .fill-AA2{fill:#076F6F;}
		.d2-3015842260 .fill-AA4{fill:#77DEDE;}
		.d2-3015842260 .fill-AA5{fill:#C3F8F8;}
		.d2-3015842260 .fill-AB4{fill:#C1A2F3;}
		.d2-3015842260 .fill-AB5{fill:#DACEFB;}
		.d2-3015842260 .stroke-N1{stroke:#0A0F25;}
		.d2-3015842260 .stroke-N2{stroke:#676C7E;}
		.d2-3015842260 .stroke-N3{stroke:#9499AB;}
		.d2-3015842260 .stroke-N4{stroke:#CFD2DD;}
		.d2-3015842260 .stroke-N5{stroke:#DEE1EB;}
		.d2-3015842260 .stroke-N6{stroke:#EEF1F8;}
		.d2-3015842260 .stroke-N7{stroke:#FFFFFF;}
		.d2-3015842260 .stroke-B1{stroke:#000536;}
		.d2-3015842260 .stroke-B2{stroke:#0F66B7;}
		.d2-3015842260 .stroke-B3{stroke:#4393DD;}
		.d2-3015842260 .stroke-B4{stroke:#87BFF3;}
		.d2-3015842260 .stroke-B5{stroke:#BCDDFB;}
		.d2-3015842260 .stroke-B6{stroke:#E5F3FF;}
		.d2-3015842260 .stroke-AA2{stroke:#076F6F;}
		.d2-3015842260 .stroke-AA4{stroke:#77DEDE;}
		.d2-3015842260 .stroke-AA5{stroke:#C3F8F8;}
		.d2-3015842260 .stroke-AB4{stroke:#C1A2F3;}
		.d2-3015842260 .stroke-AB5{stroke:#DACEFB;}
		.d2-3015842260 .background-color-N1{background-color:#0A0F25;}
		.d2-3015842260 .background-color-N2{background-color:#676C7E;}
		.d2-3015842260 .background-color-N3{background-color:#9499AB;}
		.d2-3015842260 .background-color-N4{background-color:#CFD2DD;}
		.d2-3015842260 .background-color-N5{background-color:#DEE1EB;}
		.d2-3015842260 .background-color-N6{background-color:#EEF1F8;}
		.d2-3015842260 .background-color-N7{background-color:#FFFFFF;}
		.d2-3015842260 .background-color-B1{background-color:#000536;}
		.d2-3015842260 .background-color-B2{background-color:#0F66B7;}
		.d2-3015842260 .background-color-B3{background-color:#4393DD;}
		.d2-3015842260 .background-color-B4{background-color:#87BFF3;}
		.d2-3015842260 .background-color-B5{background-color:#BCDDFB;}
		.d2-3015842260 .background-color-B6{background-color:#E5F3FF;}
		.d2-3015842260 .background-color-AA2{background-color:#076F6F;}
		.d2-3015842260 .background-color-AA4{background-color:#77DEDE;}
		.d2-3015842260 .background-color-AA5{background-color:#C3F8F8;}
		.d2-3015842260 .background-color-AB4{background-color:#C1A2F3;}
		.d2-3015842260 .background-color-AB5{background-color:#DACEFB;}
		.d2-3015842260 .color-N1{color:#0A0F25;}
		.d2-3015842260 .color-N2{color:#676C7E;}
		.d2-3015842260 .color-N3{color:#9499AB;}
		.d2-3015842260 .color-N4{color:#CFD2DD;}
		.d2-3015842260 .color-N5{color:#DEE1EB;}
		.d2-3015842260 .color-N6{color:#EEF1F8;}
		.d2-3015842260 .color-N7{color:#FFFFFF;}
		.d2-3015842260 .color-B1{color:#000536;}
		.d2-3015842260 .color-B2{color:#0F66B7;}
		.d2-3015842260 .color-B3{color:#4393DD;}
		.d2-3015842260 .color-B4{color:#87BFF3;}
		.d2-3015842260 .color-B5{color:#BCDDFB;}
		.d2-3015842260 .color-B6{color:#E5F3FF;}
		.d2-3015842260 .color-AA2{color:#076F6F;}
		.d2-3015842260 .color-AA4{color:#77DEDE;}
		.d2-3015842260 .color-AA5{color:#C3F8F8;}
		.d2-3015842260 .color-AB4{color:#C1A2F3;}
		.d2-3015842260 .color-AB5{color:#DACEFB;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#000536;--color-border-muted:#0F66B7;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0F66B7;--color-accent-emphasis:#0F66B7;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-3015842260);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-dark-d2-3015842260);mix-blend-mode:overlay}.sketch-overlay-B3{fill:url(#streaks-dark-d2-3015842260);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-normal-d2-3015842260);mix-blend-mode:color-burn}.sketch-overlay-B5{fill:url(#streaks-normal-d2-3015842260);mix-blend-mode:color-burn}.sketch-overlay-B6{fill:url(#streaks-bright-d2-3015842260);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-3015842260);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-normal-d2-3015842260);mix-blend-mode:color-burn}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-3015842260);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-normal-d2-3015842260);mix-blend-mode:color-burn}.sketch-overlay-AB5{fill:url(#streaks-normal-d2-3015842260);mix-blend-mode:color-burn}.sketch-overlay-N1{fill:url(#streaks-darker-d2-3015842260);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-3015842260);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-3015842260);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-3015842260);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-3015842260);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-3015842260);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-3015842260);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]&gt;&lt;/style&gt;&lt;g class=&#34;SkRZ&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;0.000000&#34; y=&#34;59.000000&#34; width=&#34;154.000000&#34; height=&#34;82.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;77.000000&#34; y=&#34;97.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;&lt;tspan x=&#34;77.000000&#34; dy=&#34;0.000000&#34;&gt;简道云推送&lt;/tspan&gt;&lt;tspan x=&#34;77.000000&#34; dy=&#34;18.500000&#34;&gt;x-jdy-signature&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;Qm9keQ==&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;254.000000&#34; y=&#34;67.000000&#34; width=&#34;241.000000&#34; height=&#34;66.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;374.500000&#34; y=&#34;105.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;原始请求体 req.rawBody&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;SE1BQw==&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;595.000000&#34; y=&#34;59.000000&#34; width=&#34;254.000000&#34; height=&#34;82.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;722.000000&#34; y=&#34;97.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;&lt;tspan x=&#34;722.000000&#34; dy=&#34;0.000000&#34;&gt;服务端计算签名&lt;/tspan&gt;&lt;tspan x=&#34;722.000000&#34; dy=&#34;18.500000&#34;&gt;HMAC-SHA1(secret, rawBody)&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;TWF0Y2g_&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;949.000000&#34; y=&#34;67.000000&#34; width=&#34;230.000000&#34; height=&#34;66.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;1064.000000&#34; y=&#34;105.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;decision: &amp;#34;签名一致？&amp;#34;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;T0s=&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;1309.000000&#34; y=&#34;0.000000&#34; width=&#34;176.000000&#34; height=&#34;66.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;1397.000000&#34; y=&#34;38.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;通过→后台执行&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;Tkc=&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;1299.000000&#34; y=&#34;126.000000&#34; width=&#34;196.000000&#34; height=&#34;82.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;1397.000000&#34; y=&#34;164.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;&lt;tspan x=&#34;1397.000000&#34; dy=&#34;0.000000&#34;&gt;不一致→返回说明&lt;/tspan&gt;&lt;tspan x=&#34;1397.000000&#34; dy=&#34;18.500000&#34;&gt;不执行任务&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KEpEWSAtJmd0OyBCb2R5KVswXQ==&#34;&gt;&lt;marker id=&#34;mk-d2-3015842260-3488378134&#34; markerWidth=&#34;10.000000&#34; markerHeight=&#34;12.000000&#34; refX=&#34;7.000000&#34; refY=&#34;6.000000&#34; viewBox=&#34;0.000000 0.000000 10.000000 12.000000&#34; orient=&#34;auto&#34; markerUnits=&#34;userSpaceOnUse&#34;&gt; &lt;polygon points=&#34;0.000000,0.000000 10.000000,6.000000 0.000000,12.000000&#34; fill=&#34;#000536&#34; class=&#34;connection fill-B1&#34; stroke-width=&#34;2&#34; /&gt; &lt;/marker&gt;&lt;path d=&#34;M 156.000000 100.000000 C 194.000000 100.000000 214.000000 100.000000 250.000000 100.000000&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-3015842260-3488378134)&#34; mask=&#34;url(#d2-3015842260)&#34; /&gt;&lt;/g&gt;&lt;g class=&#34;KEJvZHkgLSZndDsgSE1BQylbMF0=&#34;&gt;&lt;path d=&#34;M 497.000000 100.000000 C 535.000000 100.000000 555.000000 100.000000 591.000000 100.000000&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-3015842260-3488378134)&#34; mask=&#34;url(#d2-3015842260)&#34; /&gt;&lt;/g&gt;&lt;g class=&#34;KEhNQUMgLSZndDsgTWF0Y2g_KVswXQ==&#34;&gt;&lt;path d=&#34;M 851.000000 100.000000 C 889.000000 100.000000 909.000000 100.000000 945.000000 100.000000&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-3015842260-3488378134)&#34; mask=&#34;url(#d2-3015842260)&#34; /&gt;&lt;/g&gt;&lt;g class=&#34;KE1hdGNoPyAtJmd0OyBPSylbMF0=&#34;&gt;&lt;path d=&#34;M 1151.868309 66.286263 C 1221.199951 39.799999 1253.000000 33.000000 1305.000000 33.000000&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-3015842260-3488378134)&#34; mask=&#34;url(#d2-3015842260)&#34; /&gt;&lt;text x=&#34;1227.000000&#34; y=&#34;44.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;是&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KE1hdGNoPyAtJmd0OyBORylbMF0=&#34;&gt;&lt;path d=&#34;M 1151.868309 133.713737 C 1221.199951 160.199997 1251.000000 167.000000 1295.000000 167.000000&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-3015842260-3488378134)&#34; mask=&#34;url(#d2-3015842260)&#34; /&gt;&lt;text x=&#34;1222.000000&#34; y=&#34;166.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;否&lt;/text&gt;&lt;/g&gt;&lt;mask id=&#34;d2-3015842260&#34; maskUnits=&#34;userSpaceOnUse&#34; x=&#34;-101&#34; y=&#34;-101&#34; width=&#34;1697&#34; height=&#34;410&#34;&gt;
&lt;rect x=&#34;-101&#34; y=&#34;-101&#34; width=&#34;1697&#34; height=&#34;410&#34; fill=&#34;white&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;22.500000&#34; y=&#34;81.500000&#34; width=&#34;109&#34; height=&#34;37&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;276.500000&#34; y=&#34;89.500000&#34; width=&#34;196&#34; height=&#34;21&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;617.500000&#34; y=&#34;81.500000&#34; width=&#34;209&#34; height=&#34;37&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;971.500000&#34; y=&#34;89.500000&#34; width=&#34;185&#34; height=&#34;21&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;1331.500000&#34; y=&#34;22.500000&#34; width=&#34;131&#34; height=&#34;21&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;1321.500000&#34; y=&#34;148.500000&#34; width=&#34;151&#34; height=&#34;37&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;1217.000000&#34; y=&#34;28.000000&#34; width=&#34;20&#34; height=&#34;21&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;1212.000000&#34; y=&#34;150.000000&#34; width=&#34;20&#34; height=&#34;21&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;/mask&gt;&lt;/svg&gt;&lt;/svg&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;异步ACK与幂等控制&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;d2&#34;&gt;&lt;?xml version=&#34;1.0&#34; encoding=&#34;utf-8&#34;?&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; xmlns:xlink=&#34;http://www.w3.org/1999/xlink&#34; data-d2-version=&#34;v0.6.9-HEAD&#34; preserveAspectRatio=&#34;xMinYMin meet&#34; viewBox=&#34;0 0 781 1375&#34;&gt;&lt;svg class=&#34;d2-2465028052 d2-svg&#34; width=&#34;781&#34; height=&#34;1375&#34; viewBox=&#34;-101 -101 781 1375&#34;&gt;&lt;rect x=&#34;-101.000000&#34; y=&#34;-101.000000&#34; width=&#34;781.000000&#34; height=&#34;1375.000000&#34; rx=&#34;0.000000&#34; fill=&#34;#FFFFFF&#34; class=&#34; fill-N7&#34; stroke-width=&#34;0&#34; /&gt;&lt;style type=&#34;text/css&#34;&gt;&lt;![CDATA[
.d2-2465028052 .text-bold {
	font-family: &#34;d2-2465028052-font-bold&#34;;
}
@font-face {
	font-family: d2-2465028052-font-bold;
	src: url(&#34;data:application/font-woff;base64,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&#34;);
}
.d2-2465028052 .text-italic {
	font-family: &#34;d2-2465028052-font-italic&#34;;
}
@font-face {
	font-family: d2-2465028052-font-italic;
	src: url(&#34;data:application/font-woff;base64,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&#34;);
}]]&gt;&lt;/style&gt;&lt;style type=&#34;text/css&#34;&gt;&lt;![CDATA[.shape {
  shape-rendering: geometricPrecision;
  stroke-linejoin: round;
}
.connection {
  stroke-linecap: round;
  stroke-linejoin: round;
}
.blend {
  mix-blend-mode: multiply;
  opacity: 0.5;
}

		.d2-2465028052 .fill-N1{fill:#0A0F25;}
		.d2-2465028052 .fill-N2{fill:#676C7E;}
		.d2-2465028052 .fill-N3{fill:#9499AB;}
		.d2-2465028052 .fill-N4{fill:#CFD2DD;}
		.d2-2465028052 .fill-N5{fill:#DEE1EB;}
		.d2-2465028052 .fill-N6{fill:#EEF1F8;}
		.d2-2465028052 .fill-N7{fill:#FFFFFF;}
		.d2-2465028052 .fill-B1{fill:#000536;}
		.d2-2465028052 .fill-B2{fill:#0F66B7;}
		.d2-2465028052 .fill-B3{fill:#4393DD;}
		.d2-2465028052 .fill-B4{fill:#87BFF3;}
		.d2-2465028052 .fill-B5{fill:#BCDDFB;}
		.d2-2465028052 .fill-B6{fill:#E5F3FF;}
		.d2-2465028052 .fill-AA2{fill:#076F6F;}
		.d2-2465028052 .fill-AA4{fill:#77DEDE;}
		.d2-2465028052 .fill-AA5{fill:#C3F8F8;}
		.d2-2465028052 .fill-AB4{fill:#C1A2F3;}
		.d2-2465028052 .fill-AB5{fill:#DACEFB;}
		.d2-2465028052 .stroke-N1{stroke:#0A0F25;}
		.d2-2465028052 .stroke-N2{stroke:#676C7E;}
		.d2-2465028052 .stroke-N3{stroke:#9499AB;}
		.d2-2465028052 .stroke-N4{stroke:#CFD2DD;}
		.d2-2465028052 .stroke-N5{stroke:#DEE1EB;}
		.d2-2465028052 .stroke-N6{stroke:#EEF1F8;}
		.d2-2465028052 .stroke-N7{stroke:#FFFFFF;}
		.d2-2465028052 .stroke-B1{stroke:#000536;}
		.d2-2465028052 .stroke-B2{stroke:#0F66B7;}
		.d2-2465028052 .stroke-B3{stroke:#4393DD;}
		.d2-2465028052 .stroke-B4{stroke:#87BFF3;}
		.d2-2465028052 .stroke-B5{stroke:#BCDDFB;}
		.d2-2465028052 .stroke-B6{stroke:#E5F3FF;}
		.d2-2465028052 .stroke-AA2{stroke:#076F6F;}
		.d2-2465028052 .stroke-AA4{stroke:#77DEDE;}
		.d2-2465028052 .stroke-AA5{stroke:#C3F8F8;}
		.d2-2465028052 .stroke-AB4{stroke:#C1A2F3;}
		.d2-2465028052 .stroke-AB5{stroke:#DACEFB;}
		.d2-2465028052 .background-color-N1{background-color:#0A0F25;}
		.d2-2465028052 .background-color-N2{background-color:#676C7E;}
		.d2-2465028052 .background-color-N3{background-color:#9499AB;}
		.d2-2465028052 .background-color-N4{background-color:#CFD2DD;}
		.d2-2465028052 .background-color-N5{background-color:#DEE1EB;}
		.d2-2465028052 .background-color-N6{background-color:#EEF1F8;}
		.d2-2465028052 .background-color-N7{background-color:#FFFFFF;}
		.d2-2465028052 .background-color-B1{background-color:#000536;}
		.d2-2465028052 .background-color-B2{background-color:#0F66B7;}
		.d2-2465028052 .background-color-B3{background-color:#4393DD;}
		.d2-2465028052 .background-color-B4{background-color:#87BFF3;}
		.d2-2465028052 .background-color-B5{background-color:#BCDDFB;}
		.d2-2465028052 .background-color-B6{background-color:#E5F3FF;}
		.d2-2465028052 .background-color-AA2{background-color:#076F6F;}
		.d2-2465028052 .background-color-AA4{background-color:#77DEDE;}
		.d2-2465028052 .background-color-AA5{background-color:#C3F8F8;}
		.d2-2465028052 .background-color-AB4{background-color:#C1A2F3;}
		.d2-2465028052 .background-color-AB5{background-color:#DACEFB;}
		.d2-2465028052 .color-N1{color:#0A0F25;}
		.d2-2465028052 .color-N2{color:#676C7E;}
		.d2-2465028052 .color-N3{color:#9499AB;}
		.d2-2465028052 .color-N4{color:#CFD2DD;}
		.d2-2465028052 .color-N5{color:#DEE1EB;}
		.d2-2465028052 .color-N6{color:#EEF1F8;}
		.d2-2465028052 .color-N7{color:#FFFFFF;}
		.d2-2465028052 .color-B1{color:#000536;}
		.d2-2465028052 .color-B2{color:#0F66B7;}
		.d2-2465028052 .color-B3{color:#4393DD;}
		.d2-2465028052 .color-B4{color:#87BFF3;}
		.d2-2465028052 .color-B5{color:#BCDDFB;}
		.d2-2465028052 .color-B6{color:#E5F3FF;}
		.d2-2465028052 .color-AA2{color:#076F6F;}
		.d2-2465028052 .color-AA4{color:#77DEDE;}
		.d2-2465028052 .color-AA5{color:#C3F8F8;}
		.d2-2465028052 .color-AB4{color:#C1A2F3;}
		.d2-2465028052 .color-AB5{color:#DACEFB;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#000536;--color-border-muted:#0F66B7;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0F66B7;--color-accent-emphasis:#0F66B7;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-2465028052);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-dark-d2-2465028052);mix-blend-mode:overlay}.sketch-overlay-B3{fill:url(#streaks-dark-d2-2465028052);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-normal-d2-2465028052);mix-blend-mode:color-burn}.sketch-overlay-B5{fill:url(#streaks-normal-d2-2465028052);mix-blend-mode:color-burn}.sketch-overlay-B6{fill:url(#streaks-bright-d2-2465028052);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-2465028052);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-normal-d2-2465028052);mix-blend-mode:color-burn}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-2465028052);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-normal-d2-2465028052);mix-blend-mode:color-burn}.sketch-overlay-AB5{fill:url(#streaks-normal-d2-2465028052);mix-blend-mode:color-burn}.sketch-overlay-N1{fill:url(#streaks-darker-d2-2465028052);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-2465028052);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-2465028052);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-2465028052);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-2465028052);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-2465028052);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-2465028052);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]&gt;&lt;/style&gt;&lt;g class=&#34;SW5ib3VuZA==&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;247.000000&#34; y=&#34;0.000000&#34; width=&#34;159.000000&#34; height=&#34;66.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;326.500000&#34; y=&#34;38.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;收到 /webhook&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;VmVyaWZ5&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;247.000000&#34; y=&#34;166.000000&#34; width=&#34;159.000000&#34; height=&#34;66.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;326.500000&#34; y=&#34;204.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;验签 + 白名单&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;QUNL&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;156.000000&#34; y=&#34;353.000000&#34; width=&#34;141.000000&#34; height=&#34;66.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;226.500000&#34; y=&#34;391.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;快速ACK 200&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;TG9jaz8=&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;77.000000&#34; y=&#34;540.000000&#34; width=&#34;299.000000&#34; height=&#34;66.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;226.500000&#34; y=&#34;578.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;decision: &amp;#34;processing.has(dataId)?&amp;#34;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;TG9ja0FkZA==&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;83.000000&#34; y=&#34;727.000000&#34; width=&#34;210.000000&#34; height=&#34;82.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;188.000000&#34; y=&#34;765.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;&lt;tspan x=&#34;188.000000&#34; dy=&#34;0.000000&#34;&gt;processing.add(dataId)&lt;/tspan&gt;&lt;tspan x=&#34;188.000000&#34; dy=&#34;18.500000&#34;&gt;watchdog(5min)&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;Rmxvdw==&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;0.000000&#34; y=&#34;909.000000&#34; width=&#34;375.000000&#34; height=&#34;66.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;187.500000&#34; y=&#34;947.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;查询/补齐→生成Base64→事务上传→回填&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;RmluYWxseQ==&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;74.000000&#34; y=&#34;1075.000000&#34; width=&#34;228.000000&#34; height=&#34;98.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;188.000000&#34; y=&#34;1113.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;&lt;tspan x=&#34;188.000000&#34; dy=&#34;0.000000&#34;&gt;finally:&lt;/tspan&gt;&lt;tspan x=&#34;188.000000&#34; dy=&#34;17.666667&#34;&gt;clearTimeout(watchdog)&lt;/tspan&gt;&lt;tspan x=&#34;188.000000&#34; dy=&#34;17.666667&#34;&gt;processing.delete(dataId)&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;RXhwbGFpbg==&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;353.000000&#34; y=&#34;735.000000&#34; width=&#34;226.000000&#34; height=&#34;66.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#E5F3FF&#34; class=&#34; stroke-B1 fill-B6&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;466.000000&#34; y=&#34;773.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;返回说明并终止任务&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KEluYm91bmQgLSZndDsgVmVyaWZ5KVswXQ==&#34;&gt;&lt;marker id=&#34;mk-d2-2465028052-3488378134&#34; markerWidth=&#34;10.000000&#34; markerHeight=&#34;12.000000&#34; refX=&#34;7.000000&#34; refY=&#34;6.000000&#34; viewBox=&#34;0.000000 0.000000 10.000000 12.000000&#34; orient=&#34;auto&#34; markerUnits=&#34;userSpaceOnUse&#34;&gt; &lt;polygon points=&#34;0.000000,0.000000 10.000000,6.000000 0.000000,12.000000&#34; fill=&#34;#000536&#34; class=&#34;connection fill-B1&#34; stroke-width=&#34;2&#34; /&gt; &lt;/marker&gt;&lt;path d=&#34;M 326.500000 68.000000 C 326.500000 106.000000 326.500000 126.000000 326.500000 162.000000&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2465028052-3488378134)&#34; mask=&#34;url(#d2-2465028052)&#34; /&gt;&lt;/g&gt;&lt;g class=&#34;KFZlcmlmeSAtJmd0OyBBQ0spWzBd&#34;&gt;&lt;path d=&#34;M 290.291625 232.868628 C 239.750000 280.299988 226.750000 304.700012 226.750000 349.500000&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2465028052-3488378134)&#34; mask=&#34;url(#d2-2465028052)&#34; /&gt;&lt;text x=&#34;238.500000&#34; y=&#34;288.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;通过&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KFZlcmlmeSAtJmd0OyBFeHBsYWluKVswXQ==&#34;&gt;&lt;path d=&#34;M 389.506390 232.456605 C 477.350006 280.299988 499.750000 311.200012 499.750000 339.250000 C 499.750000 367.299988 499.750000 404.700012 499.750000 432.750000 C 499.750000 460.799988 499.750000 498.200012 499.750000 526.250000 C 499.750000 554.299988 495.149994 680.299988 478.014910 731.705267&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2465028052-3488378134)&#34; mask=&#34;url(#d2-2465028052)&#34; /&gt;&lt;text x=&#34;499.500000&#34; y=&#34;460.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;失败&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KEFDSyAtJmd0OyBMb2NrPylbMF0=&#34;&gt;&lt;path d=&#34;M 226.750000 420.500000 C 226.750000 467.299988 226.750000 491.700012 226.750000 536.500000&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2465028052-3488378134)&#34; mask=&#34;url(#d2-2465028052)&#34; /&gt;&lt;/g&gt;&lt;g class=&#34;KExvY2s_IC0mZ3Q7IEV4cGxhaW4pWzBd&#34;&gt;&lt;path d=&#34;M 277.405562 606.622103 C 347.750000 654.299988 379.149994 680.299988 429.963469 732.630288&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2465028052-3488378134)&#34; mask=&#34;url(#d2-2465028052)&#34; /&gt;&lt;text x=&#34;359.500000&#34; y=&#34;670.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;是（并发）&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KExvY2s_IC0mZ3Q7IExvY2tBZGQpWzBd&#34;&gt;&lt;path d=&#34;M 211.741553 607.350610 C 192.500000 654.299988 187.500000 678.700012 187.500000 723.500000&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2465028052-3488378134)&#34; mask=&#34;url(#d2-2465028052)&#34; /&gt;&lt;text x=&#34;190.000000&#34; y=&#34;670.000000&#34; fill=&#34;#676C7E&#34; class=&#34;text-italic fill-N2&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;否&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;KExvY2tBZGQgLSZndDsgRmxvdylbMF0=&#34;&gt;&lt;path d=&#34;M 187.500000 811.000000 C 187.500000 849.000000 187.500000 869.000000 187.500000 905.000000&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2465028052-3488378134)&#34; mask=&#34;url(#d2-2465028052)&#34; /&gt;&lt;/g&gt;&lt;g class=&#34;KEZsb3cgLSZndDsgRmluYWxseSlbMF0=&#34;&gt;&lt;path d=&#34;M 187.500000 977.000000 C 187.500000 1015.000000 187.500000 1035.000000 187.500000 1071.000000&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2465028052-3488378134)&#34; mask=&#34;url(#d2-2465028052)&#34; /&gt;&lt;/g&gt;&lt;mask id=&#34;d2-2465028052&#34; maskUnits=&#34;userSpaceOnUse&#34; x=&#34;-101&#34; y=&#34;-101&#34; width=&#34;781&#34; height=&#34;1375&#34;&gt;
&lt;rect x=&#34;-101&#34; y=&#34;-101&#34; width=&#34;781&#34; height=&#34;1375&#34; fill=&#34;white&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;269.500000&#34; y=&#34;22.500000&#34; width=&#34;114&#34; height=&#34;21&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;269.500000&#34; y=&#34;188.500000&#34; width=&#34;114&#34; height=&#34;21&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;178.500000&#34; y=&#34;375.500000&#34; width=&#34;96&#34; height=&#34;21&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;99.500000&#34; y=&#34;562.500000&#34; width=&#34;254&#34; height=&#34;21&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;105.500000&#34; y=&#34;749.500000&#34; width=&#34;165&#34; height=&#34;37&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;22.500000&#34; y=&#34;931.500000&#34; width=&#34;330&#34; height=&#34;21&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;96.500000&#34; y=&#34;1097.500000&#34; width=&#34;183&#34; height=&#34;53&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;375.500000&#34; y=&#34;757.500000&#34; width=&#34;181&#34; height=&#34;21&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;219.000000&#34; y=&#34;272.000000&#34; width=&#34;39&#34; height=&#34;21&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;480.000000&#34; y=&#34;444.000000&#34; width=&#34;39&#34; height=&#34;21&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;311.000000&#34; y=&#34;654.000000&#34; width=&#34;97&#34; height=&#34;21&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;180.000000&#34; y=&#34;654.000000&#34; width=&#34;20&#34; height=&#34;21&#34; fill=&#34;black&#34;&gt;&lt;/rect&gt;
&lt;/mask&gt;&lt;/svg&gt;&lt;/svg&gt;&lt;/div&gt;&lt;h2 id=&#34;heading-4&#34;&gt;实现结果&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;单位会员：审批通过或编辑修改触发一次生成并回填，表单附件字段出现 certificate_编号.jpg。&lt;/li&gt;
&lt;li&gt;个人会员：自动查询会员基本信息表补齐字段与照片，生成并回填证书图片。&lt;/li&gt;
&lt;li&gt;简道云“数据推送”不再超时重试，数据修改日志仅记录一次更新。&lt;/li&gt;
&lt;li&gt;启用 systemd 后后台常驻运行、崩溃自动重启；日志由 journald管理，带时间戳与自动轮转。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;部署结构&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;d2&#34;&gt;&lt;?xml version=&#34;1.0&#34; encoding=&#34;utf-8&#34;?&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; xmlns:xlink=&#34;http://www.w3.org/1999/xlink&#34; data-d2-version=&#34;v0.6.9-HEAD&#34; preserveAspectRatio=&#34;xMinYMin meet&#34; viewBox=&#34;0 0 1228 558&#34;&gt;&lt;svg class=&#34;d2-2442590282 d2-svg&#34; width=&#34;1228&#34; height=&#34;558&#34; viewBox=&#34;-81 -85 1228 558&#34;&gt;&lt;rect x=&#34;-81.000000&#34; y=&#34;-85.000000&#34; width=&#34;1228.000000&#34; height=&#34;558.000000&#34; rx=&#34;0.000000&#34; fill=&#34;#FFFFFF&#34; class=&#34; fill-N7&#34; stroke-width=&#34;0&#34; /&gt;&lt;style type=&#34;text/css&#34;&gt;&lt;![CDATA[
.d2-2442590282 .text {
	font-family: &#34;d2-2442590282-font-regular&#34;;
}
@font-face {
	font-family: d2-2442590282-font-regular;
	src: url(&#34;data:application/font-woff;base64,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&#34;);
}
.d2-2442590282 .text-bold {
	font-family: &#34;d2-2442590282-font-bold&#34;;
}
@font-face {
	font-family: d2-2442590282-font-bold;
	src: url(&#34;data:application/font-woff;base64,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&#34;);
}]]&gt;&lt;/style&gt;&lt;style type=&#34;text/css&#34;&gt;&lt;![CDATA[.shape {
  shape-rendering: geometricPrecision;
  stroke-linejoin: round;
}
.connection {
  stroke-linecap: round;
  stroke-linejoin: round;
}
.blend {
  mix-blend-mode: multiply;
  opacity: 0.5;
}

		.d2-2442590282 .fill-N1{fill:#0A0F25;}
		.d2-2442590282 .fill-N2{fill:#676C7E;}
		.d2-2442590282 .fill-N3{fill:#9499AB;}
		.d2-2442590282 .fill-N4{fill:#CFD2DD;}
		.d2-2442590282 .fill-N5{fill:#DEE1EB;}
		.d2-2442590282 .fill-N6{fill:#EEF1F8;}
		.d2-2442590282 .fill-N7{fill:#FFFFFF;}
		.d2-2442590282 .fill-B1{fill:#000536;}
		.d2-2442590282 .fill-B2{fill:#0F66B7;}
		.d2-2442590282 .fill-B3{fill:#4393DD;}
		.d2-2442590282 .fill-B4{fill:#87BFF3;}
		.d2-2442590282 .fill-B5{fill:#BCDDFB;}
		.d2-2442590282 .fill-B6{fill:#E5F3FF;}
		.d2-2442590282 .fill-AA2{fill:#076F6F;}
		.d2-2442590282 .fill-AA4{fill:#77DEDE;}
		.d2-2442590282 .fill-AA5{fill:#C3F8F8;}
		.d2-2442590282 .fill-AB4{fill:#C1A2F3;}
		.d2-2442590282 .fill-AB5{fill:#DACEFB;}
		.d2-2442590282 .stroke-N1{stroke:#0A0F25;}
		.d2-2442590282 .stroke-N2{stroke:#676C7E;}
		.d2-2442590282 .stroke-N3{stroke:#9499AB;}
		.d2-2442590282 .stroke-N4{stroke:#CFD2DD;}
		.d2-2442590282 .stroke-N5{stroke:#DEE1EB;}
		.d2-2442590282 .stroke-N6{stroke:#EEF1F8;}
		.d2-2442590282 .stroke-N7{stroke:#FFFFFF;}
		.d2-2442590282 .stroke-B1{stroke:#000536;}
		.d2-2442590282 .stroke-B2{stroke:#0F66B7;}
		.d2-2442590282 .stroke-B3{stroke:#4393DD;}
		.d2-2442590282 .stroke-B4{stroke:#87BFF3;}
		.d2-2442590282 .stroke-B5{stroke:#BCDDFB;}
		.d2-2442590282 .stroke-B6{stroke:#E5F3FF;}
		.d2-2442590282 .stroke-AA2{stroke:#076F6F;}
		.d2-2442590282 .stroke-AA4{stroke:#77DEDE;}
		.d2-2442590282 .stroke-AA5{stroke:#C3F8F8;}
		.d2-2442590282 .stroke-AB4{stroke:#C1A2F3;}
		.d2-2442590282 .stroke-AB5{stroke:#DACEFB;}
		.d2-2442590282 .background-color-N1{background-color:#0A0F25;}
		.d2-2442590282 .background-color-N2{background-color:#676C7E;}
		.d2-2442590282 .background-color-N3{background-color:#9499AB;}
		.d2-2442590282 .background-color-N4{background-color:#CFD2DD;}
		.d2-2442590282 .background-color-N5{background-color:#DEE1EB;}
		.d2-2442590282 .background-color-N6{background-color:#EEF1F8;}
		.d2-2442590282 .background-color-N7{background-color:#FFFFFF;}
		.d2-2442590282 .background-color-B1{background-color:#000536;}
		.d2-2442590282 .background-color-B2{background-color:#0F66B7;}
		.d2-2442590282 .background-color-B3{background-color:#4393DD;}
		.d2-2442590282 .background-color-B4{background-color:#87BFF3;}
		.d2-2442590282 .background-color-B5{background-color:#BCDDFB;}
		.d2-2442590282 .background-color-B6{background-color:#E5F3FF;}
		.d2-2442590282 .background-color-AA2{background-color:#076F6F;}
		.d2-2442590282 .background-color-AA4{background-color:#77DEDE;}
		.d2-2442590282 .background-color-AA5{background-color:#C3F8F8;}
		.d2-2442590282 .background-color-AB4{background-color:#C1A2F3;}
		.d2-2442590282 .background-color-AB5{background-color:#DACEFB;}
		.d2-2442590282 .color-N1{color:#0A0F25;}
		.d2-2442590282 .color-N2{color:#676C7E;}
		.d2-2442590282 .color-N3{color:#9499AB;}
		.d2-2442590282 .color-N4{color:#CFD2DD;}
		.d2-2442590282 .color-N5{color:#DEE1EB;}
		.d2-2442590282 .color-N6{color:#EEF1F8;}
		.d2-2442590282 .color-N7{color:#FFFFFF;}
		.d2-2442590282 .color-B1{color:#000536;}
		.d2-2442590282 .color-B2{color:#0F66B7;}
		.d2-2442590282 .color-B3{color:#4393DD;}
		.d2-2442590282 .color-B4{color:#87BFF3;}
		.d2-2442590282 .color-B5{color:#BCDDFB;}
		.d2-2442590282 .color-B6{color:#E5F3FF;}
		.d2-2442590282 .color-AA2{color:#076F6F;}
		.d2-2442590282 .color-AA4{color:#77DEDE;}
		.d2-2442590282 .color-AA5{color:#C3F8F8;}
		.d2-2442590282 .color-AB4{color:#C1A2F3;}
		.d2-2442590282 .color-AB5{color:#DACEFB;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#000536;--color-border-muted:#0F66B7;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0F66B7;--color-accent-emphasis:#0F66B7;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-2442590282);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-dark-d2-2442590282);mix-blend-mode:overlay}.sketch-overlay-B3{fill:url(#streaks-dark-d2-2442590282);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-normal-d2-2442590282);mix-blend-mode:color-burn}.sketch-overlay-B5{fill:url(#streaks-normal-d2-2442590282);mix-blend-mode:color-burn}.sketch-overlay-B6{fill:url(#streaks-bright-d2-2442590282);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-2442590282);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-normal-d2-2442590282);mix-blend-mode:color-burn}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-2442590282);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-normal-d2-2442590282);mix-blend-mode:color-burn}.sketch-overlay-AB5{fill:url(#streaks-normal-d2-2442590282);mix-blend-mode:color-burn}.sketch-overlay-N1{fill:url(#streaks-darker-d2-2442590282);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-2442590282);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-2442590282);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-2442590282);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-2442590282);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-2442590282);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-2442590282);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]&gt;&lt;/style&gt;&lt;g class=&#34;SG9zdA==&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;20.000000&#34; y=&#34;56.000000&#34; width=&#34;1026.000000&#34; height=&#34;316.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#87BFF3&#34; class=&#34; stroke-B1 fill-B4&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;533.000000&#34; y=&#34;43.000000&#34; fill=&#34;#0A0F25&#34; class=&#34;text fill-N1&#34; style=&#34;text-anchor:middle;font-size:28px&#34;&gt;Host&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;SG9zdC5BcGFjaGU=&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;50.000000&#34; y=&#34;86.000000&#34; width=&#34;349.000000&#34; height=&#34;82.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#BCDDFB&#34; class=&#34; stroke-B1 fill-B5&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;224.500000&#34; y=&#34;124.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;&lt;tspan x=&#34;224.500000&#34; dy=&#34;0.000000&#34;&gt;Apache 443&lt;/tspan&gt;&lt;tspan x=&#34;224.500000&#34; dy=&#34;18.500000&#34;&gt;SSL + ProxyPass /webhook→127.0.0.1:3000&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;SG9zdC5TZXJ2aWNl&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;59.000000&#34; y=&#34;228.000000&#34; width=&#34;332.000000&#34; height=&#34;114.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#BCDDFB&#34; class=&#34; stroke-B1 fill-B5&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;225.000000&#34; y=&#34;266.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;&lt;tspan x=&#34;225.000000&#34; dy=&#34;0.000000&#34;&gt;systemd vip-card-bridge.service&lt;/tspan&gt;&lt;tspan x=&#34;225.000000&#34; dy=&#34;17.250000&#34;&gt;ExecStart=/root/.nvm/.../node server.cjs&lt;/tspan&gt;&lt;tspan x=&#34;225.000000&#34; dy=&#34;17.250000&#34;&gt;EnvironmentFile=.env&lt;/tspan&gt;&lt;tspan x=&#34;225.000000&#34; dy=&#34;17.250000&#34;&gt;Restart=always&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;SG9zdC5Ob2Rl&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;499.000000&#34; y=&#34;165.000000&#34; width=&#34;171.000000&#34; height=&#34;82.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#BCDDFB&#34; class=&#34; stroke-B1 fill-B5&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;584.500000&#34; y=&#34;203.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;&lt;tspan x=&#34;584.500000&#34; dy=&#34;0.000000&#34;&gt;Node server.cjs&lt;/tspan&gt;&lt;tspan x=&#34;584.500000&#34; dy=&#34;18.500000&#34;&gt;nvm Node 16.20.x&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;SG9zdC5Mb2c=&#34;&gt;&lt;g class=&#34;shape&#34; &gt;&lt;rect x=&#34;770.000000&#34; y=&#34;165.000000&#34; width=&#34;246.000000&#34; height=&#34;82.000000&#34; stroke=&#34;#000536&#34; fill=&#34;#BCDDFB&#34; class=&#34; stroke-B1 fill-B5&#34; style=&#34;stroke-width:2;&#34; /&gt;&lt;/g&gt;&lt;text x=&#34;893.000000&#34; y=&#34;203.500000&#34; fill=&#34;#0A0F25&#34; class=&#34;text-bold fill-N1&#34; style=&#34;text-anchor:middle;font-size:16px&#34;&gt;&lt;tspan x=&#34;893.000000&#34; dy=&#34;0.000000&#34;&gt;journald 持久化与轮转&lt;/tspan&gt;&lt;tspan x=&#34;893.000000&#34; dy=&#34;18.500000&#34;&gt;journalctl -u vip-card-bridge&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g class=&#34;SG9zdC4oQXBhY2hlIC0mZ3Q7IE5vZGUpWzBd&#34;&gt;&lt;marker id=&#34;mk-d2-2442590282-3488378134&#34; markerWidth=&#34;10.000000&#34; markerHeight=&#34;12.000000&#34; refX=&#34;7.000000&#34; refY=&#34;6.000000&#34; viewBox=&#34;0.000000 0.000000 10.000000 12.000000&#34; orient=&#34;auto&#34; markerUnits=&#34;userSpaceOnUse&#34;&gt; &lt;polygon points=&#34;0.000000,0.000000 10.000000,6.000000 0.000000,12.000000&#34; fill=&#34;#000536&#34; class=&#34;connection fill-B1&#34; stroke-width=&#34;2&#34; /&gt; &lt;/marker&gt;&lt;path d=&#34;M 401.000000 127.000000 C 439.000000 127.000000 462.000000 134.600006 510.546813 162.981214&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2442590282-3488378134)&#34; mask=&#34;url(#d2-2442590282)&#34; /&gt;&lt;/g&gt;&lt;g class=&#34;SG9zdC4oU2VydmljZSAtJmd0OyBOb2RlKVswXQ==&#34;&gt;&lt;path d=&#34;M 393.500000 285.000000 C 437.500000 285.000000 462.000000 277.399994 510.546813 249.018786&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2442590282-3488378134)&#34; mask=&#34;url(#d2-2442590282)&#34; /&gt;&lt;/g&gt;&lt;g class=&#34;SG9zdC4oTm9kZSAtJmd0OyBMb2cpWzBd&#34;&gt;&lt;path d=&#34;M 672.000000 206.000000 C 710.000000 206.000000 730.000000 206.000000 766.000000 206.000000&#34; stroke=&#34;#000536&#34; fill=&#34;none&#34; class=&#34;connection stroke-B1&#34; style=&#34;stroke-width:2;&#34; marker-end=&#34;url(#mk-d2-2442590282-3488378134)&#34; mask=&#34;url(#d2-2442590282)&#34; /&gt;&lt;/g&gt;&lt;mask id=&#34;d2-2442590282&#34; maskUnits=&#34;userSpaceOnUse&#34; x=&#34;-81&#34; y=&#34;-85&#34; width=&#34;1228&#34; height=&#34;558&#34;&gt;
&lt;rect x=&#34;-81&#34; y=&#34;-85&#34; width=&#34;1228&#34; height=&#34;558&#34; fill=&#34;white&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;506.000000&#34; y=&#34;15.000000&#34; width=&#34;54&#34; height=&#34;36&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;72.500000&#34; y=&#34;108.500000&#34; width=&#34;304&#34; height=&#34;37&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;81.500000&#34; y=&#34;250.500000&#34; width=&#34;287&#34; height=&#34;69&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;521.500000&#34; y=&#34;187.500000&#34; width=&#34;126&#34; height=&#34;37&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;rect x=&#34;792.500000&#34; y=&#34;187.500000&#34; width=&#34;201&#34; height=&#34;37&#34; fill=&#34;rgba(0,0,0,0.75)&#34;&gt;&lt;/rect&gt;
&lt;/mask&gt;&lt;/svg&gt;&lt;/svg&gt;&lt;/div&gt;&lt;h2 id=&#34;heading-5&#34;&gt;注意事项&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;事务一致性&lt;/strong&gt;：获取上传凭证与 data/update 必须使用同一 transaction_id；有效期约1小时。&lt;/li&gt;
&lt;li&gt;**字段****ID/**&lt;strong&gt;别名&lt;/strong&gt;：查询多条接口 fields 与 filter.field可用你自定义的别名（number、gender等）；如租户要求内部ID，需用 _widget_XXXX。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;个人字段数组&lt;/strong&gt;：title/photo常为数组，提交前需处理为字符串与URL。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;签名校验&lt;/strong&gt;：仅对 POST 正式推送验签；GET /webhook（连接测试）放行。验签必须对原始请求体（req.rawBody）做 HMAC-SHA1。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;反向代理&lt;/strong&gt;：Apache需为 /webhook 配置 ProxyPass/ProxyPassReverse 到 127.0.0.1:3000/webhook，并在 443（HTTPS）虚拟主机同样配置。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CentOS 7&lt;/strong&gt; &lt;strong&gt;环境&lt;/strong&gt;：系统 glibc 为 2.17，不支持 Node 20 的RPM包；采用 nvm 的 Node 16 直接跑 systemd（ExecStart指向绝对路径）。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;heading-6&#34;&gt;维护&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;日志&lt;/strong&gt;：用 journald 查看（带时间戳、自动轮转）。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;journalctl -u vip-card-bridge -f&lt;/li&gt;
&lt;li&gt;journalctl -u vip-card-bridge –since today&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;签名与安全&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;.env 里 JIANDC_WEBHOOK_SIGNATURE_KEY 是密钥，日志仅打印 hasWebhookSecret: true，不打印密钥本身。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Webhook****稳定性&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;保持“快速ACK + 后台处理 + 幂等锁 + 看门狗”，避免超时与并发重复。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;字段与模板变更&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;若证书版式或字段变更，同步调整PHP端点与字段映射；给模板版本与生成时间做记录更利于审计。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;待优化项&lt;/strong&gt;&lt;br /&gt;
- &lt;strong&gt;容器化&lt;/strong&gt;：将服务迁移到 Docker（node:20-alpine）以获得更新环境与更易移植的部署。&lt;br /&gt;
- &lt;strong&gt;结构化日志&lt;/strong&gt;：可引入 pino/winston 输出JSON结构化日志，便于检索与汇总。&lt;br /&gt;
- &lt;strong&gt;队列与重试&lt;/strong&gt;：高并发场景可加队列（Redis + BullMQ），统一控制并发与失败重试。&lt;br /&gt;
- &lt;strong&gt;版本化证书&lt;/strong&gt;：文件名加入时间戳/版本号（certificate_编号_YYYYMMDD.jpg），避免覆盖历史。&lt;/p&gt;
&lt;h2 id=&#34;heading-7&#34;&gt;常用命令速查&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Node 与依赖&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;- which node / type -a node
- npm install（在 /opt/vip-card-bridge）
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;systemd 服务（nvm Node 16 路径）&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;- 编辑 /etc/systemd/system/vip-card-bridge.service：

- ExecStart=/root/.nvm/versions/node/v16.20.2/bin/node /opt/vip-card-bridge/server.cjs
- Environment=“PATH=/root/.nvm/versions/node/v16.20.2/bin:/usr/bin:/bin”
- EnvironmentFile=/opt/vip-card-bridge/.env

- sudo systemctl daemon-reload
- sudo systemctl enable vip-card-bridge
- sudo systemctl restart vip-card-bridge
- journalctl -u vip-card-bridge -f
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;journald 持久化与上限（可选）&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;- sudo mkdir -p /var/log/journal
- sudo chown root:systemd-journal /var/log/journal
- sudo systemctl restart systemd-journald
- /etc/systemd/journald.conf：

- SystemMaxUse=200M
- SystemMaxFileSize=50M
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;Apache 反向代理（443虚拟主机中）&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;- ProxyRequests Off
- ProxyPreserveHost On
- ProxyPass “/webhook” “http://127.0.0.1:3000/webhook”
- ProxyPassReverse “/webhook” “http://127.0.0.1:3000/webhook”
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;健康检查&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;- curl http://127.0.0.1:3000/health
- curl https://bjhearing.cn/health
&lt;/code&gt;&lt;/pre&gt;

      
    </content>
    
  </entry>
  
  <entry>
    <title><![CDATA[尝试部署自用图床]]></title>
    <link rel="alternate" type="text/html" href="https://b.cathere.qzz.io/p/develop-images-cloud-by-cf" />
    <id>https://b.cathere.qzz.io/p/develop-images-cloud-by-cf#13154</id>
    <author>
      <name>MeiC</name>
    </author>
    <published>2025-10-06T09:10:00Z</published>
    <updated>2025-10-06T09:10:00Z</updated>
    
    <content type="html">
      &lt;p&gt;开始用 obsidian 做记录，同步到 &lt;a href=&#34;https://quail.com]&#34; title=&#34;Quaily&#34; rel=&#34;noopener ugc nofollow&#34;&gt;Quaily&lt;/a&gt; 平台的频道，免不了用到图片。虽然可以用 quaily 插件把本地图片上传到其服务器，更想能管理自己的图库。&lt;/p&gt;
&lt;p&gt;考虑到自用需要的资源不多，且刚开始尝试尽量不用花费资金，经过一番查询和了解，决定用 &lt;a href=&#34;https://cfbed.sanyue.de/&#34; title=&#34;CloudFlare ImgBed&#34; rel=&#34;noopener ugc nofollow&#34;&gt;CloudFlare ImgBed&lt;/a&gt; 方案管理，再基于 &lt;a href=&#34;https://blog.standat42.com/posts/image-hosting-backblaze-b2-private-cloudflare-workers-picgo&#34; title=&#34;Backblaze B2（私密桶）+ PicGo&#34; rel=&#34;noopener ugc nofollow&#34;&gt;Backblaze B2（私密桶）+ PicGo&lt;/a&gt; 存储和上传。（无外卡，用不了 cloudflare R2）&lt;/p&gt;
&lt;p&gt;这两个配置对小白来说比较简单，很容易看懂，按照说明一步步设置。这里只记录需要注意的细节。&lt;/p&gt;
&lt;h2 id=&#34;-backblaze-b2-&#34;&gt;创建 backblaze B2 私密桶&lt;/h2&gt;
&lt;p&gt;先参照&lt;a href=&#34;https://blog.standat42.com/posts/image-hosting-backblaze-b2-private-cloudflare-workers-picgo#%E4%B8%80%E5%88%9B%E5%BB%BA-backblaze-b2-%E7%A7%81%E5%AF%86%E6%A1%B6&#34; title=&#34;这个&#34; rel=&#34;noopener ugc nofollow&#34;&gt;这个&lt;/a&gt;步骤创建 B2 私密桶。对应在 cloudflare imgbed 指南就是前期准备 S3 兼容存储。&lt;/p&gt;
&lt;h2 id=&#34;cloudflare-&#34;&gt;Cloudflare 部署&lt;/h2&gt;
&lt;p&gt;按照&lt;a href=&#34;https://cfbed.sanyue.de/deployment/cloudflare.html&#34; title=&#34;部署指南&#34; rel=&#34;noopener ugc nofollow&#34;&gt;部署指南&lt;/a&gt;一步步操作。&lt;/p&gt;
&lt;p&gt;部署完成后，可以给 cf worker&amp;amp;page 配置自己的域名，添加 cname 解析时，需要取消勾选「代理」选项，这样才会可用。&lt;/p&gt;
&lt;h2 id=&#34;heading&#34;&gt;存储渠道配置&lt;/h2&gt;
&lt;p&gt;最后，就进入管理后台配置存储渠道和其他设置。&lt;/p&gt;
&lt;p&gt;backblaze B2 属于 S3 存储类型，在配置时 endpoint 需要写完整的 URL，包含 &lt;code&gt;https://&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;从本地上传图片测试ok。&lt;/p&gt;
&lt;h2 id=&#34;piclist-&#34;&gt;PicList 设置&lt;/h2&gt;
&lt;p&gt;想要在 obsidian 书写插入图片时，直接上传本地图片并返回图床链接，开始尝试了 PicGo 和 obsidian 插件 &lt;code&gt;image auto upload&lt;/code&gt; 实现。&lt;/p&gt;
&lt;p&gt;还想要把图片格式统一转换成 webp，后来改用 PicList 应用，有一个图片处理功能，可以移除图片 exif 信息、压缩质量、格式转换、加水印、旋转。&lt;/p&gt;
&lt;p&gt;
&lt;figure class=&#34;quail-image-wrapper&#34; style=&#34;width: auto; height: auto; margin: 0 auto; display: block&#34;&gt;
	&lt;img src=&#34;https://img.cathere.qzz.io/file/1759741326379_piclist-cleanshot.webp&#34; alt=&#34;&#34; style=&#34;width: 100%; height: auto&#34; class=&#34;quail-image&#34; /&gt;
	&lt;figcaption class=&#34;quail-image-caption&#34; style=&#34;display: block&#34;&gt;piclist&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;在piclist 安装插件&lt;code&gt;web-uploader-custom-url-prefix&lt;/code&gt; （需要能自定义前缀）。按照 cloudflare imgbed &lt;a href=&#34;https://cfbed.sanyue.de/qa/&#34; title=&#34;Q&amp;amp;A&#34; rel=&#34;noopener ugc nofollow&#34;&gt;Q&amp;amp;A&lt;/a&gt; 设置参数。&lt;/p&gt;
&lt;p&gt;authcode 认证方式的值是自己在后台设置的用户端认证密码。也可以用 API token 鉴权，根据&lt;a href=&#34;https://cfbed.sanyue.de/api/&#34; title=&#34;API 文档&#34; rel=&#34;noopener ugc nofollow&#34;&gt;API 文档&lt;/a&gt;）说明创建 token, 按照&lt;code&gt;{&amp;quot;Authorization&amp;quot;: &amp;quot;Bearer YOUR_API_TOKEN&amp;quot;}&lt;/code&gt; 格式填写自定义请求头。&lt;/p&gt;
&lt;p&gt;相册管理的删除云端功能还需要再研究一下，暂时从 web 端处理。&lt;/p&gt;

      
    </content>
    
  </entry>
  
  <entry>
    <title><![CDATA[「蹦哒」猫的「摇人术」]]></title>
    <link rel="alternate" type="text/html" href="https://b.cathere.qzz.io/p/live-model-of-cat-bengda-with-us" />
    <id>https://b.cathere.qzz.io/p/live-model-of-cat-bengda-with-us#13094</id>
    <author>
      <name>MeiC</name>
    </author>
    <published>2025-10-02T07:40:00Z</published>
    <updated>2025-10-02T07:40:00Z</updated>
    
    <content type="html">
      &lt;p&gt;2025 年 9 月 3 日，「蹦哒」猫已有两岁半，正值青年时期，再加上是一只狸花猫，所以牠的好奇心满满、表达欲很丰富。&lt;/p&gt;
&lt;p&gt;有过上门喂猫服务的经历，也见过朋友家的猫猫们，产生一个不成熟的见解：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;大部分品种猫除了长相可爱、萌萌哒，牠们的性格特别安静、稳定，脾气特别好；与之相比，田园猫（土猫）在可爱之外，性格各有不同，脾气变化多，对陪伴者（人或玩伴）的依赖更强烈，机灵地表达需求。&lt;/p&gt;
&lt;p&gt;品种猫的性格可能是特定选育的结果，以满足特定人群的宠物伴侣需要。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;所以，猫猫们有自己的思维和个性。&lt;/p&gt;
&lt;p&gt;蹦哒猫和我们之间有独特的相处方式，最近观察到的「摇人术」是其中一方面。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/7km5xur0r7.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;h2 id=&#34;01&#34;&gt;「摇人术」01&lt;/h2&gt;
&lt;p&gt;「蹦哒」想要人理睬牠，一种惯常的做法是，千方百计地出现在人的视野之内，继而占领或企图破坏你正在用的东西，引起注意。&lt;/p&gt;
&lt;p&gt;如果我们正在用电脑工作、学习，蹦哒有时会跃上电脑桌，在电脑前从左边走到右边，再转弯走回去。经过我们的脸和胳膊时，有意无意地摆着尾巴扫一扫。好像在说：「快看，快看，我来咯」。这时，我们就会拍拍蹦哒的屁股。&lt;/p&gt;
&lt;p&gt;有时会径直走上键盘坐下，然后用爪子刨防尘垫、键帽。在不经意间，会随意打开窗口、输入一串乱码，是否按发送键看心情。这时，我们就要搭理牠，从键盘上举下来，再尝试理解牠需要什么。&lt;/p&gt;
&lt;p&gt;如果是笔记本电脑，蹦哒还会站在旁边，用脑袋蹭电脑边沿——「标记一下，这个是我的了」，顺便咬一口。曾经，我的 Mac 屏幕被蹦哒咬了一口，一条弯曲的裂纹在黑屏之下清晰可见。幸好在 Apple Care 有效期内，预约去店铺维修，外接显示器备份出重要文件，等待换屏幕。&lt;/p&gt;
&lt;p&gt;蹦哒咬一口，痛失小鱼干 799。从此以后，我离开笔记本电脑时，会很自觉地合上盖子；如果蹦哒靠近开始蹭电脑，马上拦截，给予回应。&lt;/p&gt;
&lt;h2 id=&#34;02&#34;&gt;「摇人术」02&lt;/h2&gt;
&lt;p&gt;除了走近摇人，蹦哒还会制造一些特别的声响，吸引人的注意。&lt;/p&gt;
&lt;p&gt;蹦哒有点异食癖，尤其对能发出声响的塑料类包装，特别喜欢咬。比如：小包纸巾、抽纸的包装、装菜的袋子。&lt;/p&gt;
&lt;p&gt;我们至今没有找到原因。曾经以为是体内缺乏某些微量元素，买过微量元素补充剂，吃了仍然会咬奇奇怪怪的东西，何况牠也不喜欢吃。&lt;/p&gt;
&lt;p&gt;从医学上找不到原因、缓解不了，我们就想有时似乎是牠凑巧碰到某个塑料，就习惯性地咬。&lt;/p&gt;
&lt;p&gt;于是，我们把牠容易咬的小包纸巾、抽纸放在小盒子里；有塑料包装袋的蔬菜尽快放回冰箱；用桌布盖住可能会被咬的东西。&lt;/p&gt;
&lt;p&gt;也有可能，咬塑料为了磨牙。把塑料包装藏起来的同时，我们给蹦哒购置了木天蓼磨牙棒。（&lt;em&gt;延展知识：&lt;a href=&#34;https://www.catster.com/lifestyle/how-to-get-a-cat-high/&#34; title=&#34;让猫咪嗨起来的4种安全方法&#34; rel=&#34;noopener ugc nofollow&#34;&gt;让猫咪嗨起来的4种安全方法&lt;/a&gt;&lt;/em&gt;）&lt;/p&gt;
&lt;p&gt;从行为分析的角度看看，蹦哒咬塑料有时是闲来无事、好奇探索、吸引注意。我们买了两袋腐竹放在角落，起初并没有用布遮盖。蹦哒会去翻找、咬塑料袋。我们都在工作的时候，蹦哒会跳上沙发靠背，站起来抠窗框。&lt;/p&gt;
&lt;p&gt;好了，我们被成功地叫过去，用干扰物阻拦牠，蹦哒就很不耐烦地摆尾巴。当我们走开，蹦哒又会跨过障碍物或者换个方向继续「摇人」。&lt;/p&gt;
&lt;p&gt;这种情况很难揣测蹦哒的目的，只能用排除法试探。如果快到吃饭时间，就问蹦哒「是不是想吃罐头了，舔舔嘴？」，蹦哒舔嘴了，那就开主食罐喂饭。如果不是，那继续猜「想要拍屁股或是陪玩」。&lt;/p&gt;
&lt;p&gt;拍拍停猫位抓板，如果蹦哒过来趴下，就表示想要拍屁股。如果丢纸团或者躲猫猫捉迷藏，蹦哒注意力跟随过来，那就要陪玩。&lt;/p&gt;
&lt;p&gt;由此看来，蹦哒的心思不好猜。&lt;/p&gt;
&lt;h2 id=&#34;03&#34;&gt;「摇人术」03&lt;/h2&gt;
&lt;p&gt;最近注意到两个清晰的呼叫方式，也许是蹦哒懂得了我们的日常分工：我主要负责陪玩耍、拍屁股，队友负责做饭。于是，出现了以下两个场景。&lt;/p&gt;
&lt;p&gt;早上开始工作之前，如果我没有陪蹦哒玩耍、拍屁股哄睡。当我开始工作了，蹦哒就会站在我旁边，睁大眼睛看向我，一动不动——「给我一个眼神，自己体会吧」。这时，我就该读懂是需要拍屁股哄睡。腾出左手给蹦哒拍屁股，蹦哒趴在抓板上睡觉，用右手敲打键盘工作。&lt;/p&gt;
&lt;p&gt;我看蹦哒睡着了，就停止拍屁股，左手回到工作岗位。可是过一会，蹦哒又醒来定睛看着我。&lt;/p&gt;
&lt;p&gt;好吧，继续拍屁股。&lt;/p&gt;
&lt;p&gt;另一个场景是，午饭时间快到了，蹦哒开始冲着队友喵喵叫。队友走到哪里，蹦哒就跟到哪里，一边追一边喵喵叫，站住了就看向队友、舔嘴。这就表示蹦哒饿了要吃饭。开启一个新肉罐，蹦哒吧嗒吧嗒地喝汤吃肉。或是，烘烤剩下的肉罐。&lt;/p&gt;
&lt;p&gt;吃饱了就去喝水、洗脸、猫式伸展。&lt;/p&gt;
&lt;p&gt;这就是我们家「蹦哒」猫的「摇人术」。是不是可以送牠去上学了？哈哈哈~&lt;/p&gt;

      
    </content>
    
  </entry>
  
  <entry>
    <title><![CDATA[昆明囧行]]></title>
    <link rel="alternate" type="text/html" href="https://b.cathere.qzz.io/p/embarrassing-trip-in-kunming" />
    <id>https://b.cathere.qzz.io/p/embarrassing-trip-in-kunming#13085</id>
    <author>
      <name>MeiC</name>
    </author>
    <published>2025-07-26T04:39:00Z</published>
    <updated>2025-07-26T04:39:00Z</updated>
    
    <content type="html">
      &lt;p&gt;7月15日23点多，同事紧急召唤我，询问能否在17日前往昆明替补投标，19日返回。我看了看日历有空档，就跟同事商量买票。&lt;/p&gt;
&lt;p&gt;第二天准备出差的行装，在小红书搜索昆明半日/一日游玩推荐帖，结合住宿位置，挑选了几个打卡点，默默加入收藏夹。在准备衣服的时候，特意拿了长袖外套，以防下雨、早晚气温低冷。&lt;/p&gt;
&lt;p&gt;第三天从早到晚是在动车上度过的。一路向西，穿过一拱又一拱山洞，进入云南境内，云层越来越厚，眼看就要与山尖相碰；车厢的滚动信息显示，室外温度降到了25度左右。到站走出车厢，亲身感受到了凉爽、舒适。&lt;/p&gt;
&lt;p&gt;哇，单从气温看，这里是理想的避暑胜地。&lt;/p&gt;
&lt;p&gt;我和已经到站的同事打车去酒店，找路熟悉次日下午办事的地方。&lt;/p&gt;
&lt;p&gt;第二天早餐过后，我花点时间处理了临时工作——其实晚上或者第二天处理也可以。大约10点半，我急匆匆地出门。&lt;/p&gt;
&lt;p&gt;囧途从这里开始。&lt;/p&gt;
&lt;p&gt;出门查路线，扫了一辆共享电动车，我这才想起来忘记带耳机，只好把手机地图导航声音调到最大，手机放在篮子的帆布袋里。就这样看导航走走停停，40分钟后到了滇池的绿道外，可惜禁止共享车进入——地图导航可能也不知道这个规定。只好走进步行。&lt;/p&gt;
&lt;p&gt;先在栈道上向北散步，由近到远地看绿油油的湖水。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/wnx05s078m.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/evdlotvn49.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;原计划沿着绿道走到滇池北边，从地图上看过于遥远，就改道反方向去滇池观景码头。为了缩短时间，我扫了一辆共享山地自行车——收费9元/30分钟，伴着「咔咔咔」声响，10分钟到达码头。自己锁车失败，呼叫客服解决，以至于叫我帮忙拍照的游客后来没找我。&lt;/p&gt;
&lt;p&gt;此刻，已经11点多了，太阳正当直。码头上，从西边吹来的湖风，很凉快，以至于我忘记了自己正在烈日之下光着胳膊行走。&lt;/p&gt;
&lt;p&gt;就这样，我在码头上走荡了1个多时，从东到西，从西到东。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/58dzxc08pd.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;br /&gt;
&lt;img src=&#34;https://static.quail.ink/media/kzwvxinyg3.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;滇池依山傍云，给红嘴鸥提供栖息地、给游客提供观光价值和生存途径——专业的付费拍照、便捷的贩售机、拍照周边、观光索道、直播。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/lx5ywsw3xz.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/4rvxlcr8x3.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/9zoexio8pr.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/8eoknipo48.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;12点半左右，我从码头启程骑车返回酒店。在半路经过一个小桥，我骑上坡时变换车轨，结果在台阶处摔倒了，电车甩了出去，幸亏没有撞到来往的机动车。我自己双膝双手触地，左手掌和左膝盖各有一块皮擦破见红，裤子磨破一条缝。&lt;/p&gt;
&lt;p&gt;我起身扶起电车，看着左手掌破皮、还有一丝粘连，坚持骑车回到酒店。&lt;/p&gt;
&lt;p&gt;从酒店前台借了碘伏棉棒、创可贴、棉球棒。同事帮我给伤口清理消毒、贴创可贴。我看着鲜红的伤口，越来越痛，以至于身体突然虚脱头晕，同事急忙扶我坐下来，从前台拿来一些白糖给我吃。头冒虚汗之后，我感觉才恢复过来。&lt;/p&gt;
&lt;p&gt;下午办完事，我发现从胳膊到手背，皮肤变红，摸着很烫——早上在码头晒伤了。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/p6nx4cwvdd.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;下午，我穿了长袖外套，和同事骑车去滇池，逛完北边的大观楼，继续骑车去码头，溜达到天黑。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/d2n8oakp4k.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/386nxc94k4.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/o4rn3sgmyn.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/6ndwlsgyk7.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/vmx0wbo0ge.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;晚上回到酒店，我从外卖平台买了碘伏、创可贴、纱布、棉球，同事帮我给伤口换了新的棉球、创可贴。&lt;/p&gt;
&lt;p&gt;第二天早上继续换新，在膝盖伤口缠纱布固定。收拾好行李，我带着擦伤和晒伤这两个 buff，和同事去逛昆明最贵的农贸市场——篆新市场，在店铺档口之间穿梭，看看稀奇的菌菇、水果，买小红书帖子推荐的小吃食。&lt;/p&gt;
&lt;p&gt;接着，我们去昆明老街快速地逛街、拍照。中午分道扬镳去车站、机场。&lt;/p&gt;
&lt;p&gt;我晚上回到家，队友开始给我的胳膊敷硼酸溶液、擦芦荟胶，持续了5、6天，晒伤的皮肤终于好转，温度恢复常温，红色变成黑色，开始一点点蜕皮。伤口每日涂碘伏、暴露在空气中透气，也逐渐结痂，恢复到自己可以洗头、洗澡的状态。&lt;/p&gt;
&lt;p&gt;嗯，这就是我的昆明囧行。&lt;/p&gt;

      
    </content>
    
  </entry>
  
  <entry>
    <title><![CDATA[搜索词推荐可能做坏事]]></title>
    <link rel="alternate" type="text/html" href="https://b.cathere.qzz.io/p/search-term-recommendation-may-do-bad-things" />
    <id>https://b.cathere.qzz.io/p/search-term-recommendation-may-do-bad-things#13084</id>
    <author>
      <name>MeiC</name>
    </author>
    <published>2025-07-26T03:13:00Z</published>
    <updated>2025-07-26T03:13:00Z</updated>
    
    <content type="html">
      &lt;p&gt;大连工业大学对一位学生的开除学籍处分通告，在互联网上引发了评论和&lt;a href=&#34;https://theinitium.com/zh-hans/article/20250718-whatsnew-mainland-dalian-university-expel-female-student-hurt-national-dignity&#34; title=&#34;媒体报道&#34; rel=&#34;noopener ugc nofollow&#34;&gt;媒体报道&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;如果把媒体、社交平台看作一个笼罩，那么，它们的不妥当做法对受害人来说毫无保护之力，反而是打开了数不清的瞄准口。&lt;/p&gt;
&lt;p&gt;无意间，我在微信的搜索框（搜一搜）输入「大连工业大学」时，显示了一系列推荐/联想的搜索词，有的推荐词就显示出了这份通告的当事女生的姓名。&lt;/p&gt;
&lt;p&gt;我注意到搜索框右上角有一个不起眼的「投诉反馈」按钮，便尝试向微信反馈这个侵权问题。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/xk90ounolm.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;当天收到了微信的处理结果反馈，然后，我再在微信里搜索时没有显示这件事的受害人的姓名。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/r8l2xcm2d7.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;接着，我好奇百度搜索对此会是怎样的。当我在百度的搜索框中输入部分词后，给我推荐了一系列搜索词。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/7km5xur08w.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;然后，我在右下角的反馈里填写了推荐搜索词可能侵权的问题，百度很快给了答复。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;尊敬的用户您好， 您反馈的问题经评估， 不符合处理要求， 请您参考网页搜索投诉指引： &lt;a href=&#34;http://help.baidu.com/question?prod_id=1&amp;amp;class=689&amp;amp;id=1001778&#34; title=&#34;A Link of http://help.baidu.com/question?prod_id=1&amp;amp;class=689&amp;amp;id=1001778&#34; rel=&#34;noopener ugc nofollow&#34;&gt;http://help.baidu.com/question?prod_id=1&amp;class=689&amp;id=1001778&lt;/a&gt;  处理。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/0mpyvb0rdo.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;br /&gt;
.&lt;br /&gt;
这个结果，我当然不满意，查看了提供的指引链接内容，并没有找到对应的说法。我就继续回复反馈：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“当您发现搜索结果中包含侵权、 违法违规等问题时， 建议您首先联系原网站（第三方网页）进行删除或更新。 同时， 您也可以通过此平台进行反馈， 我们会依照相应的法律法规对您投诉的搜索结果链接进行断开链接处理， 但原网站（第三方网页）内容仍存在于原网站的页面， 请您知悉。 ”&lt;br /&gt;
我反馈的是搜索时百度推荐、 联想的搜索词， 涉及到侵犯了当事人隐私。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;百度继续给了下面的答复：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;尊敬的用户， 您好， 非常抱歉， 关于您反馈的问题暂时无法定位违规内容， 建议您进一步提供详细信息， 以便工作人员进行判断， 如您还有其他问题， 请提供正确的索引链接及搜索关键词再次反馈， 如需获得更多帮助可参考： &lt;a href=&#34;http://www.baidu.com/search/faq_page.html&#34; title=&#34;A Link of http://www.baidu.com/search/faq_page.html&#34; rel=&#34;noopener ugc nofollow&#34;&gt;http://www.baidu.com/search/faq_page.html&lt;/a&gt; 感谢您对百度的支持。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/2x8g3sp5r8.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;这样的回复真敷衍，读不懂中文和图片内容，还是并不认为这些推荐搜索词有什么不妥？不得而知。&lt;/p&gt;

      
    </content>
    
  </entry>
  
  <entry>
    <title><![CDATA[两只口炎流浪猫的救助日记]]></title>
    <link rel="alternate" type="text/html" href="https://b.cathere.qzz.io/p/rescue-diary-of-two-stray-cats-with-stomatitis" />
    <id>https://b.cathere.qzz.io/p/rescue-diary-of-two-stray-cats-with-stomatitis#13083</id>
    <author>
      <name>MeiC</name>
    </author>
    <published>2025-04-26T03:00:00Z</published>
    <updated>2025-04-26T03:00:00Z</updated>
    
    <content type="html">
      &lt;p&gt;时间回到 2024 年 11 月 21 日，我们从投喂点的监控里注意到一只瘦弱、嘴角挂着东西的新流浪猫，取名「面包糠」。直到 12 月 5 日，面包糠再次出现，判断它大概率有口炎，安排时间顺利诱捕，送到北边有经验的医院治疗。2 天后，又出现一只有口炎的黑白猫，头顶有丿乀黑毛，取名「初八」，随后也顺利抓送到医院。接下来根据医生的建议，选择救治方案。此刻，花钱如流水，比起不忍心看猫咪疼痛难耐日渐消瘦，这又算得了什么？&lt;/p&gt;
&lt;h2 id=&#34;heading&#34;&gt;面包糠治疗过程&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;12 月 6 日蹲守，成功诱捕到面包糠，送去医院做检查，指甲角质化严重，年龄估计是中老年了，确定有口炎，住院。&lt;br /&gt;
&lt;img src=&#34;https://static.quail.ink/media/386nxc94e4.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;12 月 7 日，正常吃喝，状态正常。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;12 月 8 日做全口拔牙手术，口腔溃烂严重，拍牙片显示齿槽骨严重吸收。同步做了绝育手术。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;12 月 9 日，术后住院输液第一天，没有明显异常，控制饮食。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;12 月 10 日，术后输液第二天，没有异常，开始吃罐头。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;12 月 11 日，术后第三天输液，状态稳定，吃饭光盘了。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;12 月 12 日，噩耗传来，去喵星了😭医生分析说面包糠长期营养不良，体质弱，麻醉引起心脏疾病。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/d2n8oakpmk.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;这个噩耗太突然了，我们当时无法接受，可也知道这不是任何人的错误和责任。手术很成功，医生每天尽心尽责地照顾。&lt;/p&gt;
&lt;p&gt;TNR 达人小果安慰说，面包糠之前大概率是在别的地方吃饭，冬季那边可能不稳定，来寻找新的食物。口炎太长时间了，体质弱，出院放归后，也不一定能挨过北方的寒冬。&lt;/p&gt;
&lt;p&gt;随后，让医院帮忙把面包糠的遗体单炉火化。&lt;/p&gt;
&lt;h2 id=&#34;heading-1&#34;&gt;面包糠回家&lt;/h2&gt;
&lt;p&gt;2 月底，我们在离京之前，继续抓了一只胖胖流浪猫去绝育，顺便把面包糠的骨灰带回来，在小区楼背面的大树下刨坑埋下骨灰盒。&lt;/p&gt;
&lt;p&gt;希望面包糠来世成为一只健康快乐的猫咪，没有口炎，遇到好人家陪伴，如果没有好人，那就去到大自然里奔跑吧。&lt;/p&gt;
&lt;h2 id=&#34;heading-2&#34;&gt;初八治疗过程&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;12 月 8 日蹲守，抓捕到初八，送去医院，检查确诊有口炎，而且贫血和感染比较严重。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;经过医生分析和讨论，决定保守推进治疗，怕初八承受不住大手术重创。初八先住院观察，补血、抗感染、保肝，一周后再检查贫血情况。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/6ndwlsgye7.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;12 月 9 日，初八在住院笼里躲在猫砂喷后面，医生下班走了以后，初八吃完了放的罐头。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;12 月 10 日，初八排尿，黄色很亮，开始喂小果买的补血药。初八脾气不小，把粮食和冻干打翻，唯独吃了罐头，可能嘴巴疼不好嚼干粮。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;次日，我们买了几条绒毯到医院，给初八和面包糠铺上舒服一些。&lt;/p&gt;
&lt;p&gt;初八住院9天后，体重稍微增长了，出现稀便，开始喂益生菌调理。第二天开始继续正常吃饭，排便开始正常，白天有人在的时候也会吃饭。随后几天里，初八酷酷吃饭。&lt;/p&gt;
&lt;p&gt;时间一天天过去，总有意外发生，跌宕起伏。&lt;/p&gt;
&lt;p&gt;27 日，初八突然没有吃饭。医生说过两天抽血复查一下，如果不符合手术指标，就可以考虑接回去养一段时间再考虑手术。&lt;/p&gt;
&lt;p&gt;从面包糠去世后，我们跟医生的沟通产生了偏差，互相理解有误。&lt;/p&gt;
&lt;p&gt;医生以为我们很介意面包糠的离世，因此对初八的状态很紧张，医生也很谨慎，再加上住院会产生很多费用，担心我们有压力；而我们以为医院不想让初八继续住下去，要给其他的猫腾位子。&lt;/p&gt;
&lt;p&gt;后来，小果跟医生沟通继续住院的事情，初八继续住院。&lt;/p&gt;
&lt;p&gt;1 月初，临近春节放假了，我们拜托小果给初八找了寄养的家，有暖暖的窝，尝试喂各种好吃的，看初八喜欢哪种。大概两周后体重有所增长。初八一直寄养到3月上旬。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/o4rn3sgm2n.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;3 月天气逐渐转暖，初八回到了医院做了检查。3 月 13 日，初八做了全口拔牙手术和绝育手术。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/vmx0wbo0ze.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;术后，初八输液、吃饭，一天天好起来。&lt;/p&gt;
&lt;p&gt;一周后，3 月 23 日，初八出院继续寄养，大概 1 个半月后再复查，没有问题的话，就可以带回原小区放归啦。&lt;/p&gt;
&lt;h2 id=&#34;heading-3&#34;&gt;初八放归&lt;/h2&gt;
&lt;p&gt;5月14日，初八复查，牙龈再没有增生，伤口愈合了，黏膜粉嫩，吃饭毫无问题，体重发生了质的飞跃，将近4.4公斤，比她术后2.9公斤增重了许多。负责的医生很高兴。打了一针长效消炎针。&lt;/p&gt;
&lt;p&gt;趁着天气凉爽舒适，小果带着初八回到小区投喂的地方，放归初八。希望初八以后过健健康康、无痛苦的猫生。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/yed0oi4m09.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;br /&gt;
&lt;img src=&#34;https://static.quail.ink/media/mxkm5s7o60.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;

      
    </content>
    
  </entry>
  
  <entry>
    <title><![CDATA[TNR装备升级，「八卦」候补成功]]></title>
    <link rel="alternate" type="text/html" href="https://b.cathere.qzz.io/p/tnr-tools-updated-third-stray-cat" />
    <id>https://b.cathere.qzz.io/p/tnr-tools-updated-third-stray-cat#5488</id>
    <author>
      <name>MeiC</name>
    </author>
    <published>2024-09-17T07:52:00Z</published>
    <updated>2024-09-17T07:52:00Z</updated>
    
    <content type="html">
      &lt;p&gt;两次TNR之后，我们一边关心炸鸡和鸡米花是否来了，一边留意新的流浪猫客户。时间久了，经常在附近看到炸鸡，渐渐变得圆润了，可是饭碗每天都能吃光，真的只有炸鸡光顾吗？&lt;/p&gt;
&lt;p&gt;重复、被PUA的工作带来很重的厌倦感，总想做点其他的事情来消解。于是，我们给投喂点增添了一个摄像头，看看都有哪些猫来吃饭，找找新猫的时间规律，找机会再做TNR。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/vmx0wbzdko.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;按照教程研究了一番功能，充满电后，安装在投喂箱内侧。&lt;/p&gt;
&lt;p&gt;期待的、意外的事情相继发生，&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/kzwvxigzdr.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;😨 昆虫在猫粮上爬，就像是在一个小山坡上免费采购，好在它胃口小，一会就走了。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/evdlot4ydr.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;😱 居然会有3只流浪狗来偷吃猫粮，咣咣就吃完了，还舔了碗。第二天加粮食的时候用水冲洗了碗。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/4rvxlcx06z.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;清晨，还有鸽子来一颗颗地偷吃猫粮。&lt;/p&gt;
&lt;p&gt;意外的画面渐渐也习以为常了，&lt;strong&gt;原来，这个投喂点养了好多种生物。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;当然，猫猫们也来吃饭啦，开心😄&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/9zoexip4n0.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;炸鸡来吃饭啦，晚上也会来。有天早上被摄像头的警报声吓到了，过了两天才敢再次靠近。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/8eokni0xd7.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;🎊 鸡米花来吃饭了。在用摄像头之前，我们一直没见到鸡米花在草丛里休息，每天早晚添粮食的时候都要念叨鸡米花快来吃饭，以为牠去其他地方吃饭再也不来了。&lt;/p&gt;
&lt;p&gt;这几天，我们在远程画面里没认出鸡米花的剪耳标识，误以为这是只没绝育的流浪猫，准备诱捕它。抓到黑白猫之后，无意间发现监控里的这个三花猫有剪耳，而且和鸡米花的花纹一样。&lt;/p&gt;
&lt;p&gt;再次见到鸡米花，很开心。而且发现鸡米花饭量不错，每天都会来好几次。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/lx5ywszp0g.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;😁 这就是TNR第三个目标猫，毛色黑白，太阳光下泛蓝，从圆圆的脸型初步判断是公猫，也是干饭喵，好几次是跟鸡米花一起来吃饭。&lt;/p&gt;
&lt;p&gt;9月15日，中秋节放假第一天，我们在午饭后和傍晚两次在投喂点布控诱捕笼，等候将近6小时，步数快2w步，结果失败，没等来任何一只流浪猫来。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;这是TNR以来的首次滑铁卢状况。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;我们分析难道是炸鸡给其他流浪猫广而告之了不要来，或是猫猫们聚餐过中秋节了？&lt;/p&gt;
&lt;p&gt;直到当晚10点多，监控消息提醒有活动，终于有猫猫来吃饭了。第二天，我们发现炸鸡在另一户人家窗外的塑料盆里吃饭。我们猜想，流浪猫在其他地方吃饱了就不会再去我们的投喂点了，即使去了也只是路过，很难诱捕成功。&lt;/p&gt;
&lt;p&gt;9月16日正常放粮食换水，鸡米花和八卦猫在凌晨和晚上都来吃饭了。9月17日，我们准备再次尝试诱捕，早上买了新鲜的炸鸡块，中午在投喂点放置笼子，五点法放了炸鸡肉、零食包、平时吃的粮食，回家远程等待，只要有猫来吃，我们就快速下楼。&lt;/p&gt;
&lt;p&gt;终于，下午1点多收到消息推送，打开看到八卦猫在吃碗里的粮食、喝水，闻到了笼子里炸鸡肉的味道，在笼子周围看了看，然后一步步从笼门进去了。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/p6nx4cr7gl.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/d2n8oamo9g.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;笼子机关触发，笼门关闭，八卦猫只是好奇看来看去，没有撞笼子。&lt;/p&gt;
&lt;p&gt;我们看到八卦猫开始进笼子，就拿着装备跑下楼，遮盖好笼子，依照练习的转移方法，顺利把八卦猫转移到布袋里，再放进猫包。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/yed0oi0ydm.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;一切收拾好，骑车带去医院。果然是很大只的公猫，估摸有10斤以上。办好手续，大概半小时就做完了手术。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/6ndwlsem8e.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;等八卦猫清醒后，我们再带回小区放归。&lt;/p&gt;
&lt;p&gt;完美，第三只流浪猫顺利完成TNR。&lt;/p&gt;
&lt;p&gt;可以开开心心吃火锅过中秋节啦～&lt;/p&gt;

      
    </content>
    
  </entry>
  
  <entry>
    <title><![CDATA[不同的猫命运]]></title>
    <link rel="alternate" type="text/html" href="https://b.cathere.qzz.io/p/different-cat-fate" />
    <id>https://b.cathere.qzz.io/p/different-cat-fate#5286</id>
    <author>
      <name>MeiC</name>
    </author>
    <published>2024-08-24T04:21:00Z</published>
    <updated>2024-08-24T04:21:00Z</updated>
    
    <content type="html">
      &lt;p&gt;最近听同事提到遇见流浪猫的过程。&lt;/p&gt;
&lt;p&gt;一只虎斑猫从家里走丢了，同事的孩子不顾家里小狗有多生气，将猫带回家暂住，同时在小区里找主人，2天后幸运地找到了，主人来提着猫脖子带回家了。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/4rvxlcxov4.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;同事的孩子和同学夜骑时，碰到一只受伤的流浪猫，尾巴受伤，身上还有猫癣。小朋友回家拿了罐头喂猫，想有心救助但无力，需要花费不少钱，倘若带回家，狗会生气、仓鼠和鱼会害怕，回到家痛苦一场。&lt;/p&gt;
&lt;p&gt;同事在车检厂看到一只三花流浪猫，问我要不要领养。听说是无意间进了别的车，然后趁开门时跑出来了。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/9zoexip6xo.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;前些日子，某天早上骑车在小区看到一只被车撞了的橘猫，躺在地上，吓得我们急刹车，看起来还不到1岁，身体瘦小，不知何时突然去了喵星。等到晚上回家路过，那里已经不见尸体，只有印在水泥里的残留血渍。&lt;/p&gt;
&lt;p&gt;TNR 救助了小区里的两只流浪猫，「炸鸡」放归后躲了两周复现了，最近下楼添粮食能遇见，等我们走远了再去吃饭。「鸡米花」放归后还没再现，可能在隔壁小区。&lt;/p&gt;
&lt;p&gt;某天，我在给家里的蹦哒猫放粮食时突然闪现一种现象：家猫吃的食物比流浪猫吃的好。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;给蹦哒猫吃的主食是鲜肉烘焙粮，零食有水煮鲜虾、罐头、猫条、磨牙棒、冻干，还有维生素、洁牙化毛片、磷虾油。&lt;/li&gt;
&lt;li&gt;给流浪猫吃的是肉粉粮食、冻肉粮食、冻干。&lt;/li&gt;
&lt;li&gt;偶尔把蹦哒不爱吃的、吃剩的粮食和零食给流浪猫。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;冒出这个对比，我心里顿时觉得太偏心，对待流浪猫不够好，不够公平，继而心疼流浪猫，自作主张地替流浪猫感慨“我的猫生太不容易了，命运如此千差万别。”&lt;/p&gt;
&lt;p&gt;再延伸到自己的做法，开始产生自责心理，抱怨自己不够强大，没能给流浪猫提供同样好的食物。如此，越想越悲。&lt;/p&gt;
&lt;p&gt;当然，我也尝试为这种想法找解释，结论式的理由没有说服自己，因为没有想出充足的分析说明。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;每个生命是独一无二的，包括ta所要经历的事情，吃的喝的，感受到的。&lt;/li&gt;
&lt;li&gt;差别化关爱是正常的，先照顾好跟自己最亲近的，才会想到关系疏远的。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;后来，队友给我补充了分析过程。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;蹦哒猫就像我们亲近的家人，自然会悉心呵护。&lt;/li&gt;
&lt;li&gt;家猫在安全、衣食无忧的生活环境里待久了，自我生存能力会变弱，身体更容易出现问题。&lt;/li&gt;
&lt;li&gt;流浪猫因为从小在外生活，其捕猎、自我保护和照顾的生存能力一直有。&lt;/li&gt;
&lt;li&gt;救援要在自己能力范围之内，发挥自己的优势——比如整理汇总 TNR 经验知识，这样才会持久。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如此说来，千猫千面，尽心尽力便可无愧于心。&lt;/p&gt;

      
    </content>
    
  </entry>
  
  <entry>
    <title><![CDATA[亲手TNR，成功啦！]]></title>
    <link rel="alternate" type="text/html" href="https://b.cathere.qzz.io/p/cat-tnr-by-ourselves" />
    <id>https://b.cathere.qzz.io/p/cat-tnr-by-ourselves#5154</id>
    <author>
      <name>MeiC</name>
    </author>
    <published>2024-08-10T08:52:00Z</published>
    <updated>2024-08-10T08:52:00Z</updated>
    
    <content type="html">
      &lt;h2 id=&#34;heading&#34;&gt;炸鸡回来啦&lt;/h2&gt;
&lt;p&gt;7月最有成就感的事是，在&lt;a href=&#34;https://quaily.com/meich/p/stray-cat-tnr&#34; title=&#34;天时地利人和凑在一块的时候，顺利给一只怀孕流浪橘猫做了TNR救助&#34; rel=&#34;noopener&#34;&gt;天时地利人和凑在一块的时候，顺利给一只怀孕流浪橘猫做了TNR救助&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;橘猫炸鸡顺利放归后，飞也似的奔向广阔草丛。大约2周后，某天下班回来在车棚碰到炸鸡——在这期间，早晚放粮食都会喊炸鸡来吃饭，从未见到，还以为炸鸡生气或对这里产生了害怕、讨厌。&lt;/p&gt;
&lt;p&gt;再次见到炸鸡，它的身体比以前健硕了。忐忑的心终于落定。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/n2egkalyde.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;h2 id=&#34;tnr&#34;&gt;准备第二次TNR&lt;/h2&gt;
&lt;p&gt;第一次顺利 TNR，给了我们一些信心，想要继续给怀孕三花猫做 TNR，作为新手还没有找到熟练的流程，只好做多种准备。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;锁定了目标「客户」，多留意这只三花猫的踪迹。&lt;/li&gt;
&lt;li&gt;亲自抓捕还是联系志愿者来帮忙？&lt;/li&gt;
&lt;li&gt;准备抓捕需要用的物品。
&lt;ul&gt;
&lt;li&gt;诱捕笼&lt;/li&gt;
&lt;li&gt;布袋：减少猫的应激反应&lt;/li&gt;
&lt;li&gt;冰水瓶：放在布袋里给猫降温&lt;/li&gt;
&lt;li&gt;诱惑食物&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;联系医院咨询&lt;/li&gt;
&lt;li&gt;申请免费绝育券/绝育优惠单&lt;/li&gt;
&lt;li&gt;......&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;咨询了蹦哒以前去的医院，申请了幸运土猫的绝育优惠单，买的布袋在途中。&lt;/p&gt;
&lt;p&gt;8月1号晚上看到三花猫在单元楼背面的墙角舔毛休息，赶紧告诉了上次的志愿者，然后约了第二天晚上蹲守。第二日从晚上6点到8点，在附近的单元楼周围转圈看了好几遍，没有发现三花猫。&lt;/p&gt;
&lt;p&gt;志愿者建议我们借一个诱捕笼，自己先抓捕，否则即使看见了也没有工具抓，错失机会。3日晚上，往返骑车22公里，去一个志愿者那里借了诱捕笼，看着视频教程学了一下门的机关设置，买了好吃的湿粮。&lt;/p&gt;
&lt;p&gt;第二天是周日，打算早早下楼看看，如果碰见了三花猫就取工具抓捕，如果没有见到就去图书馆自习。&lt;/p&gt;
&lt;p&gt;大概是前一天下雨，猫猫没有吃足够的粮食、没法来户外散步休息。第二早碰见了三花猫，赶紧取来笼子，铺上报纸、放5点好吃的，放在稍微隐蔽一点的墙根处，等三花猫闻到好吃的味道去吃。&lt;/p&gt;
&lt;p&gt;可是，三花猫在草丛里抓小鸟失败后，去隔壁单元楼后面，趴在车底下休息，看来吃饱了想要睡觉。大概半小时后，三花猫起身走了。——诱捕宣告失败。&lt;/p&gt;
&lt;p&gt;此时已赶不及去图书馆抢座位，我们只好收了投喂点的粮食，回家自习休息，晚上再下楼试试运气。&lt;/p&gt;
&lt;h2 id=&#34;heading-1&#34;&gt;二次蹲守抓捕成功&lt;/h2&gt;
&lt;p&gt;根据上次志愿者的经验，我们下午去附近的肯德基买了几块炸鸡，准备撕一点肉诱捕流浪猫。&lt;/p&gt;
&lt;p&gt;晚上6点多，在楼后面的草丛里，看见三花猫正趴在草丛里休息。一个人远远放哨盯着，另一个人去拿来诱捕装备。起初，我们把笼子放在楼角，不小心被聪明的三花猫看见了，三花挪步去了旁边的草丛，趴在电缆石墩上。&lt;/p&gt;
&lt;p&gt;我们想可能是笼子不够隐蔽，就挪到了投喂点旁边靠墙放着。然后就是漫长的等待过程，还要跟飞来飞去的蚊子打架。天渐渐暗下来，很快就要进入黑夜了，到时候就更难抓捕了。&lt;/p&gt;
&lt;p&gt;我假装很正常的走路经过，看到三花猫还在石墩上。再等了一会，远远看见它顺着墙边向吃饭方向走动。&lt;/p&gt;
&lt;p&gt;呀！看来有希望。&lt;/p&gt;
&lt;p&gt;可是，三花在最里面的墙边停下了，可能发现了我们在看它，也可能是在思考要不要去吃。&lt;/p&gt;
&lt;p&gt;等了好久都不见新的动静。志愿者建议走进扔一点炸鸡肉，在猫和诱捕笼之间建立联系。&lt;/p&gt;
&lt;p&gt;起初，我还担心三花猫看到有人靠近会跑开。没想到，走进放食物的时候，三花只是转头看着人。&lt;/p&gt;
&lt;p&gt;再等了一会，看见三花起身去吃放在井盖上的炸鸡肉，吃完了继续走向诱捕笼。&lt;/p&gt;
&lt;p&gt;车棚的声控灯亮了几次，但是没有听见门关上的声音，那大概是猫在挪步吃5点食物，踩到报纸发出的声音。&lt;/p&gt;
&lt;p&gt;终于！听到门落下关上的清脆声响，我们奔跑过去看。&lt;/p&gt;
&lt;p&gt;三花猫在笼子里，但是有些应激反应，在撞笼子。我们赶紧用毯子盖住笼子，这才稍微安静一点。接下来就是关键的倒袋转移。虽然借笼子的志愿者建议，第一次不要自己在室外倒袋，避免猫跑出来，以后就很难抓到了。但是看到三花猫不停地撞笼子，我们决定尝试倒袋。&lt;/p&gt;
&lt;p&gt;把笼子后门抬起来，把布袋的一边压住，用布袋口套在后门上，然后用手摸索后门盲打开，让猫从笼子进入布袋。我们事先没有练习倒袋操作，开后门的时候摸不到把手，摸到了把手又不知道怎么打开，后来才发现要向上提起护栏。第二个问题又来了，猫待在笼子里不出来，我在慌乱中很用力地拍了拍笼子，把三花猫吓赶进了布袋。&lt;/p&gt;
&lt;p&gt;接下来，我们用手把布袋口捏紧，把布袋从笼子上退下来，打结绑定布袋。听到三花猫在布袋里喘气，还用爪子挠布袋，抓出了几个小洞。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/6ndwlse9m4.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;布袋绑好后，再转移到猫包里，这样便于带去医院。&lt;/p&gt;
&lt;p&gt;等待了将近2小时后，终于诱捕到了这只三花猫。&lt;/p&gt;
&lt;p&gt;飞快地把笼子放回家，拿了冰水瓶放在猫包里降温，发车去医院。同时联系医生，先住一晚第二天安排手术。&lt;/p&gt;
&lt;p&gt;在去医院的路上，我们回想刚才的抓捕、倒袋过程，担心三花猫是否撞伤了、产生了很大的应激。互相安慰、鼓励之后，加速驱车去医院。&lt;/p&gt;
&lt;h2 id=&#34;heading-2&#34;&gt;住院做手术&lt;/h2&gt;
&lt;p&gt;恰巧我第二天居家办公。早上收到买的猫粮后，骑车去医院办手续、看三花猫做手术。&lt;/p&gt;
&lt;p&gt;提前预约手术的猫咪还没来，医生就先给三花猫做了绝育、引产手术，打疫苗、外驱虫。等我到医院的时候，手术已经做完了，怀了5只，大概有20多天了。&lt;/p&gt;
&lt;p&gt;医生说，这个三花猫可凶了，脾气很大。他们早上直接从布袋里拿出来的时候，三花猫差点给医生一爪子。最后，只好隔着布袋打了麻药，再抱出来准备手术。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/o4rn3s256w.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;我事先申请到两个绝育优惠，经过早上的计算，这次用了救助同盟的免费绝育券，幸运土猫的绝育单有效期到月底，留给其他流浪猫用。&lt;/p&gt;
&lt;p&gt;办理登记手续，这只三花猫大约有2、3岁，抓捕时吃完了投喂的炸鸡肉，因此取名叫「&lt;strong&gt;鸡米花&lt;/strong&gt;」。&lt;/p&gt;
&lt;p&gt;鸡米花术后麻醉苏醒了，在笼子里翻滚。这个笼子是木头的，而且很宽敞，有卧室、厕所、餐厅——豪华配置，猫粮放在笼子旁边的储物柜里。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/wnx05s8x4o.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;鸡米花术后不用输液补充能量，住院10天就可以。不同的医院治疗方式不同，如果鸡米花去上次的医院，做完绝育和引产手术，大概率需要输补充液。&lt;/p&gt;
&lt;p&gt;鸡米花术后2、3天不吃东西，我们还有点担心，医生说属于正常现象。我们咨询了志愿者之后，志愿者给鸡米花送了一些好吃的猫粮。昨天去医院看它，护士说爱吃皇家的一款粮食，白天吃的少，晚上就吃完了，早上饭盆是空的。&lt;/p&gt;
&lt;p&gt;昨天，护士开笼子门放粮食的时候，笼子开个小口，很快速地取饭盆，又迅速把饭盆推进去。由此可见，鸡米花脾气挺大的，虽然没有「哈」人吓唬，但可能会伸爪示威。&lt;/p&gt;
&lt;p&gt;昨天才发现，医生给鸡米花做的剪耳是三角式，不是平角的，三角形的看起来没有那么明显。这一点在住院的时候，忘记跟医生沟通统一意见。列入下次的沟通事项中。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/yed0oi09y6.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;再过几日，鸡米花就可以出院放飞自由啦！&lt;/p&gt;
&lt;h2 id=&#34;heading-3&#34;&gt;鸡米花出院&lt;/h2&gt;
&lt;p&gt;8月14日，鸡米花术后第10天，医生解了手术服、拆了缝合线，一切顺利，伤口愈合不错。傍晚，我们下班回家途中去医院接鸡米花。&lt;/p&gt;
&lt;p&gt;两个护士用纸箱和布袋，把鸡米花转移到布袋里，费了一番功夫。如果直接下手抱，很容易被抓伤。笼子设计很巧妙，相邻的两个笼子有一个小孔连通，可以把纸箱的开口对着小孔，再把鸡米花赶进纸箱，用纸板把纸箱孔挡住，然后轻拍纸箱或者拿起来让猫进到另一端的布袋里。&lt;/p&gt;
&lt;p&gt;鸡米花学聪明了，躲在笼子角落不挪动，被多次拨动之后躲进了纸箱，继续抓紧纸箱不肯进布袋，反复拍箱、举起来口朝下，最终进了布袋。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/z5m0lcnwzo.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;带到小区的投喂点附近，打开布袋露出鸡米花的脑袋，她看了一眼就一溜烟地跑走了。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/7km5xu82m5.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;鸡米花出院时，比手术前圆润了，体重没有大变化。住院期间挑风味美食皇家猫粮、罐头吃，志愿者夸鸡米花「懂行」，哈哈哈。&lt;/p&gt;
&lt;p&gt;希望鸡米花还会回来这里吃饭、喝水、休息，可以自在地抓小鸟了。&lt;/p&gt;

      
    </content>
    
  </entry>
  
  <entry>
    <title><![CDATA[天时地利人和，顺利给流浪猫做TNR]]></title>
    <link rel="alternate" type="text/html" href="https://b.cathere.qzz.io/p/stray-cat-tnr" />
    <id>https://b.cathere.qzz.io/p/stray-cat-tnr#4495</id>
    <author>
      <name>MeiC</name>
    </author>
    <published>2024-07-27T04:54:00Z</published>
    <updated>2024-07-27T04:54:00Z</updated>
    
    <content type="html">
      &lt;h3 id=&#34;heading&#34;&gt;前情&lt;/h3&gt;
&lt;p&gt;去年搬到这个小区后，单元楼门口有一个临时的投喂点，偶尔看到有猫出没，于是用快递泡沫箱做了简易的开放式喂食箱，买了饭碗和水碗，放在楼洞口，每天早晚出门添粮换水。&lt;/p&gt;
&lt;p&gt;小区的其他人似乎没有特别关注这些流浪猫，投喂点就这一个，偶尔看到别人放的粮食、小鱼干。&lt;/p&gt;
&lt;p&gt;碰到的这几只流浪猫，对人有很高的警惕性，要么注视着你走开了才会去吃饭，要么就先跑远。&lt;/p&gt;
&lt;p&gt;此时，还没有给它们做TNR的想法，并不认为是迫切需要的。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/lx5ywszxwg.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;冬天，流浪猫会住在楼洞里，里面有暖气管道，暖和一些。但是，喝的水会结冰冻住，那时候还不知道有缓冻水碗。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/p6nx4crdwl.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/d2n8oam4kg.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;h3 id=&#34;heading-1&#34;&gt;发现怀孕橘猫&lt;/h3&gt;
&lt;p&gt;7月9日下班回家在停车棚遇见只橘猫，牠从车棚挪步到旁边的草丛里，鼓鼓的肚子，看起来是怀孕了，我们当即决定要给牠做TNR救助。接下来的几天里，查询TNR操作、咨询救助组织。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/9zoexipmo0.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;7月11日晚回家在小区溜达了一圈，其他单元楼、草丛没有投喂点。我们分析这可能是附近流浪猫出没很不固定的原因，再加上小区西门外不远处有一大片荒凉地，那里会是流浪猫狗的天然地盘。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/8eokni04p7.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;一线城市的流浪动物救助资源比较充足，可选择的方式和机构比较多。有专门的救助咨询组织、志愿团队、匹配的合作宠物医院、费用优惠服务。在TNR(A)每个环节，都有相应的救助服务平台。&lt;/p&gt;
&lt;h3 id=&#34;tnr&#34;&gt;制定TNR实施路径&lt;/h3&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/8eokni0gmg.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;p&gt;开始找资源咨询专业服务。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;专门的抓捕小队需要收费，路费挺贵的——起步价就100，还要额外2元/公里，抓捕费一只100元——还能接受。考虑到流浪猫出没时间没有规律，这个就pass掉了。&lt;/li&gt;
&lt;li&gt;【它世界志愿者团队】是由全国各城市爱心志愿者组成的团队。他们可以提供免费抓捕救援协助，志愿者接单来现场协助抓捕，或是租借诱捕笼、布袋等工具。——咨询登记后，一开始没有志愿者接单，可以借工具。我们还在为新手抓捕紧张的时候，很幸运，有志愿者可以过来帮忙。&lt;/li&gt;
&lt;li&gt;我们也在同步查询了【幸运土猫】【北京领养日】做绝育的优惠支援，最后在【北京领养日】申请了绝育单。为了不耽误抓捕后马上送医院做手术，我们提前申请留出充裕时间。很快，第二天下午就开出了绝育预约单，并联系咨询了医生。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;在整个过程中，我们从查阅的&lt;a href=&#34;https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzU4Mjk5ODkxOA==&amp;amp;action=getalbum&amp;amp;album_id=3093604989357015047&amp;amp;scene=173&amp;amp;subscene=&amp;amp;sessionid=svr_170f0fded0a&amp;amp;enterid=1722073065&amp;amp;from_msgid=2247498802&amp;amp;from_itemidx=1&amp;amp;count=3&amp;amp;nolastread=1#wechat_redirect&#34; title=&#34;资料&#34; rel=&#34;noopener ugc nofollow&#34;&gt;资料&lt;/a&gt;、志愿者、TNR交流群里学到了很多，很钦佩有志愿者做了十多年流浪猫抓捕服务，而且每天花很多时间在TNR交流群里为新手解答问题。&lt;/p&gt;
&lt;h3 id=&#34;heading-2&#34;&gt;运气很好的抓捕&lt;/h3&gt;
&lt;p&gt;7月13日抓捕当天，根据猫此前出现的时间，我们跟志愿者约的下午7点见面。早早下楼先去找这只橘猫，两次都没看见，反而遇到另一只很警惕的玳瑁猫。想着，万一怀孕橘猫没出现，到时候就先抓捕这只玳瑁吧。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/lx5ywszn46.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;真不巧，志愿者抓前一只猫耽搁了点时间，晚了一会到我们这里。然而，很幸运地看到了怀孕橘猫，正在井盖上休息。&lt;/p&gt;
&lt;p&gt;也许这就是缘分吧。&lt;/p&gt;
&lt;p&gt;听从志愿者的安排，我们在稍远处等待。志愿者用食物跟橘猫对话，把诱捕笼放在平整的地方，等待橘猫被食物香味引导进诱捕笼。&lt;/p&gt;
&lt;p&gt;开始不太顺利，志愿者分析橘猫可能已经吃饱了，或者是对这个食物味道不感兴趣，所以没有要挪步靠近笼子的意思。后来，志愿者换了笼里的食物，放了一点点炸鸡，橘猫开始靠近笼子，在外面徘徊思考——要不要吃，怎么能吃到呢，会不会有陷阱？&lt;/p&gt;
&lt;p&gt;40多分钟后，终于，橘猫进笼子吃食物，踩到机关，前门关上了。志愿者把布袋套在笼子后门，橘猫进了布袋。&lt;/p&gt;
&lt;p&gt;抓捕成功！✌️&lt;/p&gt;
&lt;p&gt;接下来，我们把橘猫放在航空箱里，骑着小电驴去预约好的医院，做登记，住院。&lt;/p&gt;
&lt;p&gt;橘猫爱吃炸鸡，所以给起名「炸鸡」。&lt;/p&gt;
&lt;h3 id=&#34;heading-3&#34;&gt;绝育&lt;/h3&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/p6nx4crnp6.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;第二天中午，医生给炸鸡做引产和绝育手术，剪耳标。我们带了一些猫砂、罐头、粮食过去，等待手术顺利，开始住院输液慢慢恢复。&lt;/p&gt;
&lt;p&gt;医生说，炸鸡全身有很多跳蚤，手术前喷洗了一番。&lt;/p&gt;
&lt;p&gt;看着刚做完手术的炸鸡，可心疼了。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/vmx0wbzpyw.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;庆幸以后就不会受苦了，可以有更长的时间自由自在。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/d2n8oamy73.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;就这样，医生每天给我们发炸鸡的状态。&lt;/p&gt;
&lt;p&gt;炸鸡在医院始终是胆小、警觉的状态，尤其白天有人在的时候，尽量缩在笼子最里面一动不动。晚上医生下班没人了，炸鸡才会吃饭、喝水、上厕所。&lt;/p&gt;
&lt;p&gt;我们原本想给炸鸡找领养，查阅了幸运土猫、北京领养日的一些专业资料后，决定出院后放归自然，这样对炸鸡来说是更合适的。&lt;/p&gt;
&lt;p&gt;7天住院，炸鸡一天天好起来，吃饭、排便都正常了。跟医生约了疫苗，然后再住院观察了两天，出院。&lt;/p&gt;
&lt;h3 id=&#34;heading-4&#34;&gt;放归自然&lt;/h3&gt;
&lt;p&gt;7天之后，炸鸡顺利出院。我们去医院接回小区，在牠熟悉的地方打开布袋放归。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/386nxcevlm.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;炸鸡从布袋里嗖的一下窜出来，奔跑向草丛里，身影是那么矫健、轻松。&lt;/p&gt;
&lt;p&gt;借用文章里的一段话表达当时的心情：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;每次看到猫猫手术后，在手术床上拍的照片，我都很欣慰，因为它的新生开始了。从今往后，它就是一只饱食终日无所事事的猫咪，它是只为自己而活的猫，不再陷入因为激素驱使的发情、干仗、生崽、死亡，再生崽的死循环中。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;heading-5&#34;&gt;投喂点改进&lt;/h3&gt;
&lt;p&gt;我们查阅了投喂点安置的&lt;a href=&#34;https://mp.weixin.qq.com/s/hGwrpb4asIuj69-1b7az9w&#34; title=&#34;攻略文章&#34; rel=&#34;noopener ugc nofollow&#34;&gt;攻略文章&lt;/a&gt;。根据志愿者的建议，买了耐用的箱子，找来砖块垫高放置，周围喷上氟虫胺减少蚊虫，把投喂点从显眼的楼门口挪到楼后面的车棚、草丛旁边。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/6ndwlse3dx.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;希望炸鸡可以无忧地享受喵生。&lt;/p&gt;

      
    </content>
    
  </entry>
  
  <entry>
    <title><![CDATA[上海出差游玩]]></title>
    <link rel="alternate" type="text/html" href="https://b.cathere.qzz.io/p/business-and-amusement-in-shanghai" />
    <id>https://b.cathere.qzz.io/p/business-and-amusement-in-shanghai#4385</id>
    <author>
      <name>MeiC</name>
    </author>
    <published>2024-04-13T08:48:00Z</published>
    <updated>2024-04-13T08:48:00Z</updated>
    
    <content type="html">
      &lt;p&gt;临时安排去上海 CMEF 展览出差，除去半日路程，还有 1.5 天工作、1 天游玩。&lt;/p&gt;
&lt;p&gt;下火车与同事碰面，打车去酒店。走出车站在专门的 Park 牌区网约车等候。途中，e 人同事与司机师傅攀谈甚欢。师傅是安徽人，在上海待了也有十多年，本想问他推荐面馆，师傅评价上海的本帮面不好吃，主要原因面条是圆滚滚的，没有弹性，还加了很多碱面。师傅自己爱吃宽形状的面——安徽板面是之一，即使在异地，对家乡的特色难忘。&lt;/p&gt;
&lt;p&gt;话匣子打开了，师傅还描述了两个小菜吃法。红紫洋葱🧅切片，撒上白糖直接吃；白萝卜切片或者条状，撒白糖吃——简简单单的甜辣味。北方的吃法里还会加醋、盐等调味，酸甜辣齐聚。我本想补充说糖腌黄瓜片的吃法，i 人欲言又止了，静静听聊就好。&lt;/p&gt;
&lt;p&gt;南北也有相通之处，榆钱、槐花都爱吃。e 人同事和师傅回忆起小时候，在路边的树上摘下榆钱、槐花吃，不要钱、免洗；对比现在，城市里只能在超市买到，在农村采摘也要淘洗一番；以后，恐怕没多少人还会想吃这些东西了。&lt;/p&gt;
&lt;p&gt;吃食，地域差异和相同，总能作为一种彼此建立连接的方式。跟随自然、生活环境的变化而变化，很难说有某种吃食能长久传承、保持原有特色，遇到新的事物总要发生一些改变。可惜的不是断续，而是不能被记录留存。&lt;/p&gt;
&lt;p&gt;上海国家会展中心四叶草🍀形状，场馆真大。有专门的卸载货物区，高粱可允许货车进出。场馆内很容易迷路，找不到想要去的目的地，除非发起共享实时位置，跟着箭头走。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/n2egkalld0.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;这么大的场地，需要投入很多的人员和物资，保持一定的翻台率，减少空置时间，会展中心才能运行下去吧。各类大型会展活动，吸引庞大观众前去，带动周边甚至上海当地消费。&lt;/p&gt;
&lt;p&gt;忙完出差活动，换到新酒店住宿。经朋友推荐，当晚在附近一家台南小吃店吃饭，逛超市。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/xk90oull9m.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;没错，就是这家台南担仔面 小吃店。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/r8l2xcddy7.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;榜单推荐的担仔面，面条是南方圆滚滚形状，猪肉丁、半块卤蛋、🦐、虾饺，再加点辣椒酱，完美。吃到最后，试了点桌面的乌醋，不是很酸，比较柔和。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/0mpyvbdd3o.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;榜单推荐的胡椒饼，里面是牛肉粒，有胡椒香味，芝麻饼酥酥的，好吃。比较幸运赶上还能做 2 个。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/7km5xu88ow.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;朋友推荐的清水煮筒米糕，里面有米、肉丁、半块卤蛋、香菇、栗子，轻咸口味不肥腻。&lt;/p&gt;
&lt;p&gt;吃完饭，消食散步去逛奥乐齐超市，买了面包作为第二天逛动物园的干粮。在返回酒店的途中，路过一家恋恋仙草店，老板是台湾人。这个也是朋友极力推荐的，烧仙草开始是液体的，放置一会就变成 duangduangQ 弹的果冻。&lt;/p&gt;
&lt;p&gt;我进店看了一下菜单牌，说 “我要一杯液态烧仙草”。老板看着我愣了一下，问我“热的？” 我继续说 “液态烧仙草”。老板还说一脸懵，打开锅盖问我“什么液态，只有热的。” 我看了一下手机，老板说”帮别人买？问问是哪种。“我就嘀咕着”那我再问问“，然后看手机走出店了。&lt;/p&gt;
&lt;p&gt;晚上不敢喝奶茶类饮料，怕睁眼到天亮，影响第二天游玩。&lt;/p&gt;
&lt;p&gt;随后回酒店休息。&lt;/p&gt;
&lt;p&gt;第二天早上，带着行李箱冒雨去动物园，在售票处旁边的行李寄存柜放好行李箱，这个付费服务很方便，适合带大行李的游客。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/2x8g3srrw8.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/z5m0lcnn0r.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;工作日，园内游客不多，家长带小孩的比较多。5 个小时沿着顺时针路线逛了一圈。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/wnx05s88ym.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;在两栖动物馆，有老人在里面听音乐晨练，四周是不同颜色的海洋动物。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/58dzxcppmd.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/kzwvxiggz3.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;隐藏的很好的大鲵～&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/evdlot44y9.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/4rvxlcxx03.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;此鱼叫做「神仙鱼」&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/9zoexipp4r.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/8eokni00e8.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;这个黑斑点的鱼在水草间休息&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/lx5ywszz7z.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;这个鱼叫「地图鱼」&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/p6nx4crr2d.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;海龟：你好呀！&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/d2n8oamm6k.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;哈哈哈，这个是在鱼馆的「气泡眼」。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/386nxcee24.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;这里叫「进入式鸟园」。园里的科普牌画的都还不错。&lt;/p&gt;
&lt;p&gt;瀑布水声、各种鸟叫声交织在一起，很好听。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/6ndwlseex7.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/o4rn3s22rn.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;我在拍照时，被这只 e 八哥搭讪了，突然跳到肩膀上吓了我，然后飞开。我模仿八哥说话，牠就朝我点头。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/vmx0wbzzre.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/yed0oi0089.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;有一只大鹅在找缝隙，想要去围栏另一边。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/mxkm5s66e0.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;这张拍得真美，火烈鸟，枫叶红，青草地，倒映在水中，映射在镜中。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/gkmd0u55pv.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;想要跳到鹈鹕的背上，在翅膀中间。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/n2egkall00.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;动物园的指示牌很好看，很用心。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/xk90oullvm.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/r8l2xcddx7.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;这个鹦鹉的名字很特别「桃脸情侣鹦鹉」。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/0mpyvbddeo.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;太阳锥尾鹦鹉，好像有一只掉落在地上站不起来，刚好看到牠在扑腾扑腾。可当时附近没有园管理人员，出园时忘记说。后来在公众号留言说的，希望被及时照顾好。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/7km5xu88gw.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;可爱的水獭。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/2x8g3srrv8.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;真的在孵蛋🐣哟～&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/z5m0lcnnor.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;观鸟台，俯瞰四周&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/wnx05s88lm.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;猫科同款睡姿，不信你看下图😝&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/58dzxcpp4d.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/kzwvxigg53.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;水轮，大树，流水&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/evdlot4469.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;快来找小熊猫🐼啦～&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/4rvxlcxxp3.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;想不想 rua&lt;del&gt;rua&lt;/del&gt;rua&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/9zoexippkr.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;大熊猫🐼 同一天，看到新闻说四川有一只野生大熊猫死亡，在河上被村民发现。😭&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/8eokni00r8.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;一只虎在睡觉，另一只在旁边陪着。此处省略蹦哒喵同款睡姿。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/lx5ywszzoz.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;看一下雨（衣人）&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/p6nx4crrzd.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;大河马🦛 在休息，听说有河马宝宝，没看到。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/d2n8oamm5k.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;四个长颈鹿🦒看雨景（聊天），其中一个怎么在面壁～哈哈哈🤣&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/386nxceen4.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;大象🐘的室内环境一般，空间不大。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/6ndwlseeo7.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;闭目养神的大猩猩🦍&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/o4rn3s228n.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;休息中的大猩猩&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/yed0oi00x9.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;育婴室，猩猩幼崽。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/mxkm5s66x0.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;在猴山玩耍的猴🐒们&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/gkmd0u552v.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/n2egkallr0.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;终于逛（贴图）完啦～&lt;/p&gt;
&lt;p&gt;总体感觉，上海动物园还是不错的，40 元门票值这个价。小雨天气给游玩观看添加了意境和气氛。唯一不悦的是，遇到几个抽烟的，很讨厌。&lt;/p&gt;
&lt;p&gt;在刚入园时，鞋头就湿了，那也没阻挡不停歇前进的步伐。&lt;/p&gt;
&lt;p&gt;最后两个点，拖着行李箱去朋友推荐的 brown sixty 买了一堆面包，然后去旁边楼的韩式餐馆「豆腐村」试吃。&lt;/p&gt;
&lt;p&gt;豆浆面很一般，面条是挂面，配的四个小菜放在里面才有点味道，因为有冰块，越吃越凉。水豆腐是热的，配了蘸汁，但是给的米饭就不懂是什么吃法了。总体评价，分量大，味道一般，价格偏贵。&lt;/p&gt;
&lt;p&gt;冒雨赶到车站，准备返京。&lt;/p&gt;

      
    </content>
    
  </entry>
  
  <entry>
    <title><![CDATA[不应只是剪刀手]]></title>
    <link rel="alternate" type="text/html" href="https://b.cathere.qzz.io/p/work-and-life" />
    <id>https://b.cathere.qzz.io/p/work-and-life#4384</id>
    <author>
      <name>MeiC</name>
    </author>
    <published>2023-12-02T08:29:00Z</published>
    <updated>2023-12-02T08:29:00Z</updated>
    
    <content type="html">
      &lt;p&gt;今早醒来灵光一闪，前五天里，我只在周二外出一趟——去公共图书馆自习办公，其他四天都在家里待着，也没有下楼走两步。并非太懒，而是忙碌完工作就很累，晚饭后只想躺沙发发呆休息。&lt;/p&gt;
&lt;p&gt;其实，上周末两天没有认真休息，还花时间工作剪视频，为了在这周开会前完成进度。然而还遗留一半工作量在周一专门处理。&lt;/p&gt;
&lt;p&gt;然而，周二外出归来就发烧、乏力，后面两天的线下会议也没有参加。直到周五，还在修修剪剪。&lt;/p&gt;
&lt;p&gt;所修剪的专业知识课程视频比较枯燥，而且讲师录制地语气、表情很呆板，我在精剪的时候稍不注意就打瞌睡了。好在，在我这个环节只需要审阅、精剪，视频素材前期的组合和粗剪是合作方完成。这门介绍理论概念为主的课程，上线后的销量会如何——很难估计，原计划的实践督导目前仍然没有详细设计。&lt;/p&gt;
&lt;p&gt;因此，我对「剪辑这个课程」这部分工作的意义和价值产生怀疑——我到底在做什么呢？花费时间做这个到底值不值？&lt;/p&gt;
&lt;p&gt;不仅如此，剪视频的整个过程也不是一直那么顺畅。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;从云端把粗剪的视频草稿下载到本地电脑（短则 3、5 分钟，长则 20 分钟；素材容量平均在 3G 左右）——&lt;strong&gt;等待&lt;/strong&gt;；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;在打开 A 草稿剪辑之前，启动下载 B 草稿；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;打开草稿 A 开始审阅剪辑，鼠标点击操作一会，就会有卡顿；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;剪辑完，发起审阅，&lt;strong&gt;等待&lt;/strong&gt;扣像**、**合成视频、上传；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;把这份最新草稿上传到云端，把本地电脑草稿箱里的这个素材文件夹删除；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;继续下一个。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;等待的时候，我要么切换去处理其他工作，要么处理私事休息，等待结束再切换回剪辑上。&lt;/p&gt;
&lt;p&gt;虽然同事也会偶尔吐槽这个课程的合作、规划，但也只能一起想办法尽快处理完这部分。在当前环境形势下，在中途停止只会损耗更大，相当于否定了之前的结果。不如从规划层面考量，减少或者取消后续的计划，目前就只完成现有阶段的内容，保持一定的完整性。&lt;/p&gt;
&lt;p&gt;在怀疑声中，很容易内心焦躁，原计划每天背 CCOA20000 单词 100 个，也没有安排时间完成，于是更加烦躁，把原因推向质疑工作的意义。有时候就会有点理解某个远方朋友好长时间不想工作的状态。如今的就业环境里，能找到一份不是很讨厌、能胜任的稳定工作就属于不错了，「干活——领工资」更加凸显，就是直接的生计职业，志业根本谈不上。&lt;/p&gt;
&lt;p&gt;2016 年刚工作那会，有一段时间的生活被工作占据。那时的生活内容很单一，而且初出职场，就想先把工作做好。等到空闲的时候就会很累，哪里还有力气丰富生活？但当时还并没有怀疑工作的意义。&lt;/p&gt;
&lt;p&gt;工作的个人意义，不应该全部来自别人的画饼，还应该是个体从中寻找的进步，给自己带来的收获和认同。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;工作不应该是我的全部，工作是做不完的；没有诗和远方，尚且还有可丰富的生活和要进阶的技能。&lt;/strong&gt;&lt;/p&gt;

      
    </content>
    
  </entry>
  
  <entry>
    <title><![CDATA[姗姗来迟的学骑自行车]]></title>
    <link rel="alternate" type="text/html" href="https://b.cathere.qzz.io/p/learn-bicycle" />
    <id>https://b.cathere.qzz.io/p/learn-bicycle#4379</id>
    <author>
      <name>MeiC</name>
    </author>
    <published>2023-11-05T05:26:00Z</published>
    <updated>2023-11-05T05:26:00Z</updated>
    
    <content type="html">
      &lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/vmx0wbzzde.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;虽迟，但到&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;童年时期学会骑自行车，这恐怕是大多数人在孩子阶段的一项重要运动技能。然而，我在小时候，莫名其妙地没有学骑自行车。直到 2023 年中段，我在内外因素的推动下，终于花时间学习骑自行车。&lt;/p&gt;
&lt;p&gt;现在回想起这事，会把「错过童年乐趣」的责任推卸给父母。这种说辞只为在他人面前为自己辩解，显然不是全貌、深刻地解释。说的次数多了，自己也开始好奇小时候不学骑自行车的原因。&lt;/p&gt;
&lt;p&gt;最近因为处理家里的琐事，「原生家庭」「出身」这些词时常浮现，先撇开这些抽象的词意，从具体的小事开始看——我小时候怎么没学骑自行车？&lt;/p&gt;
&lt;p&gt;仔细想来，从学前班到小学再到初中，从家到学校一直很近，步行不足 5 分钟就能到达，上学用不到额外的交通工具。上了高中则彻底住在学校。在无需骑车就去学校这件事上，我没有选择的余地。&lt;/p&gt;
&lt;p&gt;跟着爷爷奶奶去庄稼地里，要么走路，要么坐在双轮架子车上。即使去镇子上的市集，走路、坐架子车、搭顺风汽车、由大人骑自行车载着。不曾想过自己学骑自行车，这样会更方便，爷爷奶奶、父母也没有安排我学。&lt;/p&gt;
&lt;p&gt;现在想来，「学骑自行车」就像一层窗户纸，隔在我和家人之间，好像都在等待对方何时戳破这层纸说出来。而我处在一个保护层里，体会不到丰富多样的生活和玩耍。&lt;/p&gt;
&lt;p&gt;在家教严格的环境里，我缺失了一部分调皮捣蛋，跟同学在河边、街镇游玩的乐趣。记得隔壁是修理汽车的一户人家，他家的孩子跟我同龄，经常在外面跑着玩，每次来叫我出去玩的时候，就被父母找理由推辞了。&lt;/p&gt;
&lt;p&gt;不知从何时起，我不对家人表达自己的想法，哪怕是看到别人家的小孩在吃什么零食，自己想要的时候，并不会直截了当地给家人说「我也想要......」，而是脸部表情变得有点不开心，眼神直勾勾地看向别人手里的零食，等待大人发现我的神态，试探性地问我的时候，我才会点头示意或者低声说出来。&lt;/p&gt;
&lt;p&gt;从小被保护地很好，习惯了被动投喂，很温顺，没有经历过严厉的批评。再长大一些，跟着父母一起生活，环境风格发生变化，做事总要小心翼翼，思前想后是否恰当。记得小学五六年级时，眼睛出现近视，上课看不清黑板上的字，老师叫我回家去配一副眼镜。当时，我不敢直接给父母说这件事，觉得近视是我的不对、会被说平时看电视太久、距离太近，总之，预设出自己可能面对的批评。所以，我在某天早晨出门上学前，在茶几上留了张纸条，用写字的方式表达了需要配眼镜。&lt;/p&gt;
&lt;p&gt;小时候没有学骑自行车，等到上了大学，父母、亲戚多次建议我去考汽车驾照。可惜，我这时有明确的自我主见——对汽车不感兴趣、尾气污染大、容易交通拥堵——不想考驾照学开车。所以，直到现在，我也没有学开汽车。&lt;/p&gt;
&lt;p&gt;现在，我之所以决心学骑自行车，主要是考虑为出行便捷。以前，每次跟同事去单位附近稍微远的地方吃饭，总是担心他们要骑车过去，实际上是走路去的，这样路上还能聊天。租房子也尽量找距离地铁近的位置，但随之而来的就是租金偏高。&lt;/p&gt;
&lt;p&gt;不会骑自行车限制了自己的生活范围。所以，在最近的一次挪窝找房时，就和队友商量、下决心要学骑自行车，这样放大了新窝的可选项。在安顿好之后，趁着天气尚好，晚上在小区门外的小道学骑，事先买了护膝、护腕、护肘的装备，队友指导、示范、陪练。中途因为天气、下班晚等原因，零零星星暂停过。经过一段时间的练习，终于，我学会了比较稳定地骑自行车，转弯、灵活躲闪迎面来的逆行车、灵活调整车速。&lt;/p&gt;
&lt;p&gt;虽姗姗来迟，我找回了童年缺失的骑车技能和乐趣。&lt;/p&gt;

      
    </content>
    
  </entry>
  
  <entry>
    <title><![CDATA[蹦哒猫咪做绝育手术]]></title>
    <link rel="alternate" type="text/html" href="https://b.cathere.qzz.io/p/bengda-neuter" />
    <id>https://b.cathere.qzz.io/p/bengda-neuter#4380</id>
    <author>
      <name>MeiC</name>
    </author>
    <published>2023-09-24T06:50:00Z</published>
    <updated>2023-09-24T06:50:00Z</updated>
    
    <content type="html">
      &lt;p&gt;&lt;a href=&#34;https://rosea.hashnode.dev/bengda-happy-birthday-day&#34; title=&#34;蹦哒过完 6 月龄生日&#34; rel=&#34;noopener ugc nofollow&#34;&gt;蹦哒过完 6 月龄生日&lt;/a&gt;，一周后去医院做绝育手术，一切顺利，术后一周恢复不错，现在可以继续活蹦乱跳了。&lt;/p&gt;
&lt;h3 id=&#34;heading&#34;&gt;做手术&lt;/h3&gt;
&lt;p&gt;手术当天，凌晨 4 点多开始断食，6 点多开始断水。早上踩自行车 10 点到达医院。&lt;/p&gt;
&lt;p&gt;术前抽血检查一切指标正常，B 超检查也正常，护士抱去手术室。&lt;/p&gt;
&lt;p&gt;铲屎官在大厅等待半小时，蹦哒出手术室了，麻药还没消散，睁着圆溜溜的大眼睛，侧躺在尿布上，穿着花花的绝育服，变成了瘦小猫。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/evdlot4487.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;麻醉药一点点消失，蹦哒爪子慢慢有点活动反应。再过了一会，蹦哒尝试四肢撑着趴在猫包里，头朝里自闭 / 害怕。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/4rvxlcxxow.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;再半小时后，蹦哒意识清楚，医生看过没有问题，开了止痛消炎药片、叮嘱注意事项，准备回家。&lt;/p&gt;
&lt;p&gt;把蹦哒放在猫包里，头和屁股顶着两侧的透气网。院长进来帮忙把猫包放倒，宽度空间更大一些，蹦哒侧躺、趴在里面，再用尿布盖着，这样就稍微舒服一些。铲屎官托抱着蹦哒打车回家。&lt;/p&gt;
&lt;h3 id=&#34;heading-1&#34;&gt;术后照顾&lt;/h3&gt;
&lt;p&gt;虽说照顾猫咪就像照看小孩一样，铲屎官感觉照顾猫咪更累。&lt;/p&gt;
&lt;p&gt;小孩子生病不舒服会哭、会叫，大人能马上去看，磕碰、摔倒而哭，大人也能及时发现。但是，猫咪很能忍疼痛，而且也不常喵喵叫来表达，即使在做了手术的情况下，也想要跳高，这就需要铲屎官时刻在身边守护。&lt;/p&gt;
&lt;p&gt;术后需要照顾一周，主要在于：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;尽量不让蹦哒跳高，避免伤口挣扎裂开。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;喂消炎、止痛药。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;回到家后，蹦哒从猫包里出来，躺在尿布上，一会站起来走动，但是很害怕、紧张的样子。贴着墙边在客厅走；铲屎官靠近的时候，总是后退躲避倒着走，大概是手术产生的应激性的害怕；不习惯绝育服的束缚，走路甩脚。&lt;/p&gt;
&lt;p&gt;不走动的时候，就趴着休息。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/9zoexipp65.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;原本，铲屎官想彻底避免蹦哒跳来跳去，跟在蹦哒后面走，发现想跳的征兆，就立马抱起来放在高处。后来觉得很难做到，而且担心抱的时候弄疼伤口。于是，铲屎官就用凳子、椅子给蹦哒搭桥，让蹦哒跳每次跳的高度比较低。&lt;/p&gt;
&lt;p&gt;术后当晚，两个铲屎官轮流值班照看蹦哒。蹦哒一整天没有吃东西喝水了，伤口恢复需要营养和能量。蹦哒还没有主动喝水、进食的意思。铲屎官只好喂蹦哒喝水，用手指蘸水浸湿嘴唇，蹦哒就会舔一舔。&lt;/p&gt;
&lt;p&gt;铲屎官工作、学习，蹦哒在旁边休息。第二天，铲屎官哈欠连天，靠咖啡因续命度过。&lt;/p&gt;
&lt;p&gt;第一天，铲屎官看蹦哒躲闪、没精神的样子，担心蹦哒生气再也不搭理了。&lt;/p&gt;
&lt;p&gt;也许，蹦哒感受到了铲屎官悉心照顾、陪伴的爱，也确认了所在的环境是常驻家。第二天早上，就看到蹦哒头靠着铲屎官的腿呼呼睡觉。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/8eokni00vw.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;第二天，蹦哒开始主动吃饭，走路仍然不习惯绝育服，好在不害怕环境了，正常向前走路，还想要跳到高处，地面——沙发——高台，上猫爬架进太空舱。&lt;/p&gt;
&lt;p&gt;铲屎官把蹦哒抱到猫爬架上，蹦哒自己进太空舱呼呼睡觉。&lt;/p&gt;
&lt;p&gt;第二晚开始，铲屎官再没有轮班看守，而是把猫砂盆、水碗、粮食放在卧室，让蹦哒在卧室床角、椅子、琴键上睡觉，想要上厕所、喝水、进食就比较方便。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/lx5ywszzm8.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;随后的几天里，蹦哒愿意吃粮食、喝水，也开始想尽办法舔毛，顺便咬绝育服的线头。铲屎官以为药片是苦味的，需要按住喂药，没想到放在主食包或者干粮里，蹦哒就会主动吃掉，没有抗拒的意思。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/p6nx4crr4x.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;早上主动去窗台看风景、听鸟叫声。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/d2n8oamm3v.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;术后第四天，这张背影真好看！&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/386nxcee6z.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;同时，也开始捣乱了。&lt;/p&gt;
&lt;p&gt;不让铲屎官工作，即使电脑支起来也被踩上去压倒了。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/6ndwlseem5.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;跳上零食柜好奇铲屎官的零食。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/o4rn3s2262.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;h3 id=&#34;--&#34;&gt;肠胃 &amp;amp; 口腔问题&lt;/h3&gt;
&lt;p&gt;术后大概第 4 天的时候，发现蹦哒拉臭是一滩稀的便便💩 铲屎官查了一下，应该是麻药对蹦哒的肠胃刺激，导致菌群变化。铲屎官以前买的益生菌没有辅料调节口味，蹦哒不喜欢，只能强行喂一点点。于是，又花钱买了点新的、适口性好的益生菌，拌在干粮里愿意吃。&lt;/p&gt;
&lt;p&gt;两天后，蹦哒的便便💩恢复正常的条状了。&lt;/p&gt;
&lt;p&gt;一波刚平又起一浪🌊 铲屎官发现蹦哒下唇外的皮毛有点溃烂，怀疑是舔毛咬衣服的线，线头经常挂在牙齿上，线头勒伤了嘴唇。周日去拆线、脱绝育服的时候，让医生看了一下，没有太大问题，再观察观察。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/vmx0wbzzdg.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;h3 id=&#34;heading-2&#34;&gt;去拆线脱衣服&lt;/h3&gt;
&lt;p&gt;周日早带蹦哒去医院拆伤口的缝合线、脱绝育服。&lt;/p&gt;
&lt;p&gt;可能因为去做手术时也是待在猫包里、乘自行车的，这次，蹦哒害怕、不愿意进猫包。好不容易装进了猫包，蹦哒就喵喵喵叫了一路。从进猫包开始，铲屎官就给蹦哒说话：这次是去拆线、脱衣服，不是做手术，没有骗你。&lt;/p&gt;
&lt;p&gt;直到在医院真的拆了线、脱了衣服，蹦哒才不再害怕，知道铲屎官没有骗牠，回家的路上也没有喵喵叫，回到家依旧巡视一圈环境确认熟悉和安全。&lt;/p&gt;
&lt;p&gt;好啦～蹦哒仍然是一只活蹦乱跳的、粘人的可爱喵🐱&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/yed0oi00y4.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;h3 id=&#34;heading-3&#34;&gt;性格变化&lt;/h3&gt;
&lt;p&gt;铲屎官发现，蹦哒在手术之后，性格多了一点点懂事。铲屎官在吃饭的时候，不再跳上桌好奇捣乱了；自己吃完饭、洗脸，然后就去太空舱里或者猫抓板里舔猫休息。&lt;/p&gt;
&lt;p&gt;当然，蹦蹦跳跳、粘人依旧。&lt;/p&gt;

      
    </content>
    
  </entry>
  
  <entry>
    <title><![CDATA[铲屎官远程看猫咪]]></title>
    <link rel="alternate" type="text/html" href="https://b.cathere.qzz.io/p/curiosity-of-catkeeper" />
    <id>https://b.cathere.qzz.io/p/curiosity-of-catkeeper#4401</id>
    <author>
      <name>MeiC</name>
    </author>
    <published>2023-07-16T08:22:00Z</published>
    <updated>2023-07-16T08:22:00Z</updated>
    
    <content type="html">
      &lt;p&gt;昨晚梦里的事有猫，先记录在草稿箱。梦的梗概是这样的：&lt;/p&gt;
&lt;p&gt;跟随一伙人（隐约中有初中老师、同学、现在同事）到某地游玩，不凑巧遇到恶劣天气，只好暂时在房间呆着，可是吃的喝的都不多了。直到有一天，「蹦哒」的干粮罐头也没有了，牠饿地一直叫，躺在床上用仅有的力气呼吸、叫着。开始是喵喵叫，后来好像是在叫「妈咪、芭比」。天气没有转好的迹象，我很着急，怕蹦哒 吃不上东西会饿生病，一阵痛哭。&lt;/p&gt;
&lt;p&gt;同楼层的有些房间门口放着冲好的猫奶粉，可是我不敢给蹦哒喝，对陌生人的救济不放心，也不敢主动敲门问。&lt;/p&gt;
&lt;p&gt;后来，有同行的同事给我发消息说会托人带猫粮给我。我这才感到有了一线希望。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;猫咪打字😄&lt;/p&gt;
&lt;p&gt;、0 片、- 坎坎坷坷坎坎坷坷坎坎坷坷坎坎坷坷坎坎坷坷坎坎坷坷坎坎坷坷坎坎坷坷 i 看，阿凄凄切切凄凄切切凄凄切切凄凄切切凄凄切切凄凄切切凄凄切切凄凄切切凄凄切切凄凄切切凄凄切切凄凄切切凄凄切切凄凄切切凄凄切切凄凄切切起飞 89 个人&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;heading&#34;&gt;铲屎官和猫咪的玩具&lt;/h2&gt;
&lt;p&gt;上周网购了小米家的云台摄像机，藏在路由器盒子里，工作日定时打开可以远程看到蹦哒在客厅的一系列活动：干饭、吨吨喝水、上厕所、玩耍、睡觉、趴椅子等铲屎官回家。&lt;/p&gt;
&lt;p&gt;远程控制转动摄像头方向，当蹦哒发现摄像头在转动时，会好奇走过来凑近看看、嗅嗅，并没有伸爪胖揍😄&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/z5m0lcnn3r.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;在使用摄像机之前，对于出门搬砖的铲屎官来说，十分好奇独自在家的蹦哒会做些什么。铲屎官上周每天通勤路上都会远程看蹦哒的活动，工作间隙摸鱼也是看监控回放视频，看蹦哒有没有吃饭、喝水、上厕所，截图保存蹦哒的活动照。&lt;/p&gt;
&lt;p&gt;昨天在朋友圈看到一条「谁懂啊，当你有猫后，你的相册...🫣」真的是铲屎官们的相同写照。&lt;/p&gt;
&lt;p&gt;虽然摄像机可以远程互通语音，但铲屎官还没有试过这样叫蹦哒，怕牠不适应、害怕。&lt;/p&gt;
&lt;p&gt;蹦哒的白天作息时间基本是这样：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;早上 6 点多跟着铲屎官一起醒，吃点饭。&lt;/p&gt;
&lt;p&gt;7 点多把铲屎官送出门，会去卧室的窗台晒太阳睡觉。&lt;/p&gt;
&lt;p&gt;10 点多会出来吃饭、喝水、上厕所、洗脸。&lt;/p&gt;
&lt;p&gt;偶尔可能听到了鸟叫声，去阳台看看；或是在客厅玩逗猫棒、糖果。&lt;/p&gt;
&lt;p&gt;然后又回卧室睡觉。&lt;/p&gt;
&lt;p&gt;下午 2 点多再出来吃饭、上厕所、洗脸，回去继续睡觉。&lt;/p&gt;
&lt;p&gt;下午 4 点多会趴在客厅的椅子上休息，等铲屎官回家。&lt;/p&gt;
&lt;p&gt;等铲屎官上楼梯快到门口的时候，蹦哒就会嗖地一下从椅子上跑到门口，迎接铲屎官，蹭蹭、喵喵叫。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;凌晨 3、4 点在卧室跑酷，玩铲屎官的脏衣篓、糖果玩具、充电线、袋子。哈哈，总之就是咬发出声响。&lt;/p&gt;
&lt;p&gt;呼呼大睡的铲屎官听不见，睡眠浅的铲屎官就容易被吵醒，把蹦哒关到卧室门外。蹦哒挠门、喵喵叫，尝试过依然进不了卧室就安静了。等铲屎官开门就溜进来了，蹭蹭铲屎官（你以为是在认错），再过一会又开始玩耍发出声音了。&lt;/p&gt;
&lt;p&gt;蹦哒现在习惯在猫爬架上的太空舱里睡觉了。起初把未完成的猫爬架放在餐桌旁边靠墙，空间很局促，蹦哒不喜欢上去玩耍。安装完成后挪到宽敞一点的位置，蹦哒渐渐习惯上去了。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/wnx05s88rm.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;h2 id=&#34;heading-1&#34;&gt;铲屎官学习&lt;/h2&gt;
&lt;p&gt;铲屎官习惯从蹦哒的前腿嘎吱窝架起来。看了别人分享的经验帖，知道了抱猫咪的正确姿势。（小红书经验帖：&lt;a href=&#34;http://xhslink.com/fyBvjs%EF%BC%8C%E5%A4%8D%E5%88%B6%E6%9C%AC%E6%9D%A1%E4%BF%A1%E6%81%AF%EF%BC%8C%E6%89%93%E5%BC%80%E3%80%90%E5%B0%8F%E7%BA%A2%E4%B9%A6%E3%80%91App%E6%9F%A5%E7%9C%8B%E7%B2%BE%E5%BD%A9%E5%86%85%E5%AE%B9%EF%BC%81&#34; title=&#34;http://xhslink.com/fyBvjs&#34; rel=&#34;noopener ugc nofollow&#34;&gt;http://xhslink.com/fyBvjs&lt;/a&gt;）&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/58dzxcppnd.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/kzwvxigg73.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/evdlot44k9.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;铲屎官还参考其他经验帖，给蹦哒剪指甲脱敏。握爪、压爪、指甲刀碰爪、剪指甲，每一步只要蹦哒配合做，就奖励一小块冻干。果然，很顺利地剪完指甲。&lt;/p&gt;
&lt;p&gt;前天晚上吃完饭，休息看电视的时候，把旁边的蹦哒抱到腿上，用手给蹦哒梳毛，从额头、下巴开始，再到背毛、两侧、腿，然后是肚皮，一整套 massage 按摩。蹦哒可舒服了，肚皮和腿都愿意伸展开。&lt;/p&gt;

      
    </content>
    
  </entry>
  
  <entry>
    <title><![CDATA[成为“铲屎官”是怎样的体验]]></title>
    <link rel="alternate" type="text/html" href="https://b.cathere.qzz.io/p/being-catkeeper" />
    <id>https://b.cathere.qzz.io/p/being-catkeeper#4413</id>
    <author>
      <name>MeiC</name>
    </author>
    <published>2023-07-09T06:45:14Z</published>
    <updated>2023-07-09T06:45:14Z</updated>
    
    <content type="html">
      &lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/0mpyvbdd7v.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;许久没有更新 blog，忙忙碌碌中缺少思考，那就先分享点生活有趣的变化。&lt;/p&gt;
&lt;p&gt;5 月 29 日，我们从郊区的一户人家领养了一只小喵🐱，取名叫「蹦跶」。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;此处是猫咪说话：&lt;/p&gt;
&lt;p&gt;；胖 3wlkrrrrghewwwwwwwwwwwwwwwY&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;「蹦跶」出生于今年 3 月 3 日（爱耳日，哈哈），领养时快 3 月龄了，小母猫，牠妈妈是只橘猫，但牠的毛比较长，而且橘色很少很少，当天带到医院做检查时才知道有缅因猫的基因，脸型、背毛很像缅因的样子，腿上有相间的橘色。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/7km5xu88e7.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;公共交通工具不允许携带宠物上车，所以只好打车回家，大概 1.5 小时车程，「蹦跶」在原主人家里看起来比较胆小、温和，也不喵喵叫。在带回家的猫包里很用力地喵喵叫，可能是因为车太颠簸，有点晕车、害怕、紧张，想逃离猫包，用脑袋顶两侧的开口，用爪子挠网格。&lt;/p&gt;
&lt;p&gt;我们一边学猫叫回应牠，一边用手在猫包外安抚，或者用背包挡住网格，不让牠看到外面；司机大概受不了「蹦跶」喵喵叫，打开了音乐电台，有一阵「蹦跶」安静了，我以为是音乐声让牠平静一些，后来发现并不是。&lt;/p&gt;
&lt;p&gt;后来地搬家中，同样用猫包带蹦哒坐车，路途不远还是喵喵叫。&lt;/p&gt;
&lt;p&gt;近期带去医院打第二针疫苗，蹦哒在车上喵喵叫时，用手在外面挠挠牠的头和脸，似乎能缓解紧张感。&lt;/p&gt;
&lt;p&gt;在接猫之前，网上查阅养猫经验的资料、书籍，泛读了解、日常疑问查询。准备了猫包、猫砂、猫砂盆、猫粮、奶粉、逗猫棒、猫抓板。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://book.douban.com/subject/35273207/&#34; title=&#34;《新手养猫：从行为解读到温暖相伴》&#34; rel=&#34;noopener ugc nofollow&#34;&gt;《新手养猫：从行为解读到温暖相伴》&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://book.douban.com/subject/35921159/&#34; title=&#34;《新手养猫指导手册：从读懂猫咪心理到温暖相伴一生》&#34; rel=&#34;noopener ugc nofollow&#34;&gt;《新手养猫指导手册：从读懂猫咪心理到温暖相伴一生》&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://book.douban.com/subject/35463390/&#34; title=&#34;《&#34; rel=&#34;noopener ugc nofollow&#34;&gt;《&lt;strong&gt;猫咪家庭医学大百科：全新修订版》&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;微信公众号：猫研所，定期有猫咪行为学免费在线课&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;小程序：宠物问问&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/2x8g3srr83.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;当天带蹦跶去医院做了基本体检、滴药驱虫，从此刻开始作「铲屎官」。&lt;/p&gt;
&lt;p&gt;蹦哒到新环境适应还比较快，大概 3 个小时吧。开始躲在沙发下面，在玩具的引导下慢慢出来探索环境。熟悉之后，蹦哒就开始在晚上跑酷，睡到床角、脚旁边，逐渐信任我们。信任感再次升级，就敢跳上椅子、书桌、饭桌，人从冰箱取东西时跳进来。当然，对牠还没去过的环境始终保存好奇，比如衣柜、干货箱、厨房、卫生间。&lt;/p&gt;
&lt;p&gt;除了卫生间，其他地方都允许蹦哒在有人的时候进去探索。进厨房，蹦哒一开始跳不上灶台，只能在脚边喵喵叫。后来有一天，从远处助跑跳上了灶台，但也不能由牠捣乱，洗菜池始终很好奇，就是不允许踩下去，烫的厨具不允许碰。满足一会牠的好奇心之后，就抱出厨房闭门禁止入内。&lt;/p&gt;
&lt;p&gt;说起厨具，有一次做晚饭从电饭锅盛出米饭，把内胆拿出来接水洗，没有关锅盖。短短时间里，蹦哒就直接跳到电饭锅上，脚踩到底部导热的地方，牠反应快嗖地一下跳出来。当时吓到铲屎官了，赶紧检查牠的脚和肉垫，抚摸安慰牠，幸好没有受伤。从此以后，铲屎官做饭时尽量不让蹦哒进厨房，尤其在烧饭的时候坚决不能进，电厨具用完关闭。&lt;/p&gt;
&lt;p&gt;离开喝水的功夫，蹦哒又来说话了😄：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;yu&#39;】888888888888kl-lll；；lllllllllllllllll&lt;/p&gt;
&lt;p&gt;。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////&lt;/p&gt;
&lt;p&gt;/////////////////// 新沙岛 h j j j j j j j j j j j j j j j j j 2333 d s we 444444uuu j e 499999999uiiiiiiii//&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;蹦哒到新环境一周后的周末突然变得没有精神，吃饭、上厕所次数变少，大部分时间都在蜷缩着睡觉。铲屎官摸肚子也没有感到有异物，蹦哒也没有疼痛叫。称体重的结果是 1.7kg——2.1kg——1.7kg，体重变化异常，铲屎官觉得蹦哒可能生病了，网上搜索一些经验之说也越发担心，晚上带去医院检查，量体温接近 40 °C 是发烧了，血检、粪检都正常，没有猫瘟的迹象，但具体原因不清楚。医生打了退烧针，建议先给喂吃好消化的流食罐头，回家观察两天，如果没有好转再来做进一步检查。&lt;/p&gt;
&lt;p&gt;幸运的是，2、3 天后蹦哒恢复原来的虎样了，每天量体温也是正常的。后来，铲屎官判断可能是没有采用「7 天换粮法」，直接给蹦哒吃新干粮不适应。于是，铲屎官网购了蹦哒以前吃的一种干粮（杂牌，这也是当时直接 100% 换粮的原因之一），和现在的猫粮混合着给蹦哒吃。&lt;/p&gt;
&lt;p&gt;蹦哒以前吃的猫粮气味很有诱惑力，而且成分表排在前面的主成分有谷物类。但是，为了让蹦哒适应换粮，只能这样。&lt;/p&gt;
&lt;p&gt;关于猫咪的体温，书上是这样写的：&lt;/p&gt;
&lt;p&gt;一般而言，猫咪的体温在 39.5 °C 以下，如果量体温时猫咪挣扎或季度紧张，就可能会超过 40 °C ；临床上常遇到兽医师将体温 39 °C 以上判定为发烧，这对狗或许还说得通，对猫而言就有点夸大了。&lt;/p&gt;
&lt;p&gt;蹦哒平时吃饭是自由进食、喝水。每天早上铲屎官换新的凉白开，洗干净猫粮碗，在猫粮上面撒一点猫草。铲屎官晚上做饭时煮鸡胸肉撕小条给蹦哒。&lt;/p&gt;
&lt;p&gt;在 6 月底搬家，看了一个真正的一室一厅房子，客厅也很大，适合给蹦哒玩耍、 铲屎官嘿哈锻炼。&lt;/p&gt;
&lt;p&gt;人和猫搬到新家都很开心。慢慢地给蹦哒丰富娱乐设备和食物。买了大盒冻干，偶尔给奖励零食吃。经过一番查经验资料和选择对比，买了个 5 层、高 1.45 米的猫爬架，有猫窝、太空舱、瞭望台、猫抓柱。厂家发货着急了，漏了小楼梯木板、猫窝顶板缺大螺丝孔，补发的已经在路上，其他部分已经安装放好。&lt;/p&gt;
&lt;p&gt;4 个月的蹦哒对新玩具还是有些怕，不敢主动去猫爬架的透明太空舱里，可能是怕掉下来。渐渐地，抱蹦哒放进去，拍拍屁股，蹦哒就会安稳趴在太空舱里。&lt;/p&gt;
&lt;p&gt;蹦哒现在也习惯跑去阳台、窗台看风景、休息。铲屎官还没有做封窗安全措施，所以每天出门时不敢打开窗户，怕蹦哒好奇打开窗纱。很快，会安装好网格窗纱，这样可以比较安心地开窗通风。&lt;/p&gt;
&lt;p&gt;另外，铲屎官也比较好奇蹦跶独自在家里会做些什么。于是，采购了监控摄像机，在搬砖休息时可以远程看蹦哒，还可以语音打招呼。&lt;/p&gt;
&lt;p&gt;铲屎官在家吃饭时间看电视播放《&lt;a href=&#34;https://movie.douban.com/subject/34951711/&#34; title=&#34;spy in the wild&#34; rel=&#34;noopener ugc nofollow&#34;&gt;spy in the wild&lt;/a&gt;》（《荒野间谍》），蹦哒偶尔会专注地看。&lt;/p&gt;
&lt;p&gt;铲屎官每天下班回家进门后，蹦哒就会跟着进进出出、喵喵叫。我们猜测有几个原因：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;饿了想吃饭（猫碗里已经空了）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;想铲屎官陪牠玩耍。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;想铲屎官给牠挠挠痒。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;短短一个月，蹦哒的体重变化动态是：1.7kg——2.1kg——1.7kg——2.1kg——2.2kg——2.4kg——2.5kg。体形也变长、变大了。铲屎官每天陪蹦哒玩半小时，能让蹦哒开开心心，蹦蹦跳跳不胖肚，睡前放电也有助（少）睡（跑）眠（酷）。&lt;/p&gt;
&lt;p&gt;现在唯一不解的是，蹦哒在半夜或者清晨咬铲屎官的脚，不知道是无聊玩耍，还是有什么需求。&lt;/p&gt;
&lt;p&gt;成为铲屎官，很幸运能有蹦哒陪伴、带来欢乐。养护这个小生命，有人说虽然和生养孩子不同，可也要认真对待，付出财与物、精神陪伴，有始有终。有时候可能不只是铲屎官在陪猫咪玩耍，这个过程也能让铲屎官感受到生活的丰富性，得到一些治愈。&lt;/p&gt;
&lt;p&gt;希望蹦哒和铲屎官都能健健康康、快快乐乐地互相陪伴生活。&lt;/p&gt;
&lt;p&gt;（照片有空了补充）&lt;/p&gt;

      
    </content>
    
  </entry>
  
  <entry>
    <title><![CDATA[做甜品尝新——Kabocha Tart & Pie]]></title>
    <link rel="alternate" type="text/html" href="https://b.cathere.qzz.io/p/kabocha-tart-and-pie" />
    <id>https://b.cathere.qzz.io/p/kabocha-tart-and-pie#4402</id>
    <author>
      <name>MeiC</name>
    </author>
    <published>2022-05-29T09:08:14Z</published>
    <updated>2022-05-29T09:08:14Z</updated>
    
    <content type="html">
      &lt;p&gt;&lt;img src=&#34;https://static.quail.ink/media/9zoexippgr.webp&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;br /&gt;
上周网购了 6 个贝贝南瓜，从三宝那里知道这个好吃的，以前孤陋寡闻，只知道普通的大南瓜。随箱里有 3 种吃法的简单说明：整蒸、南瓜布丁、煮粥 / 汤 / 炒。就是想试试不同的方法。&lt;/p&gt;
&lt;p&gt;整蒸看似简单，我在早餐蒸的时候第一次时间不够，切开发现还是硬的，只好回锅继续蒸，直到筷子插进去是软的。吃的时候只吃了瓜肉，瓜皮扔掉了。今天第二次蒸才知道瓜皮也能吃。&lt;/p&gt;
&lt;p&gt;今天趁周末买来烘焙纸杯，用空气炸锅试试做蛋挞和派，包括做蛋挞皮、倒入牛奶鸡蛋汁、入锅烤 3 个步骤。&lt;/p&gt;
&lt;p&gt;下厨房的教程：&lt;/p&gt;
&lt;p&gt;南瓜蛋挞：&lt;a href=&#34;https://www.xiachufang.com/recipe/106496879/&#34; title=&#34;https://www.xiachufang.com/recipe/106496879/&#34; rel=&#34;noopener ugc nofollow&#34;&gt;https://www.xiachufang.com/recipe/106496879/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;南瓜派：&lt;a href=&#34;https://www.xiachufang.com/recipe/106102790/&#34; title=&#34;https://www.xiachufang.com/recipe/106102790/&#34; rel=&#34;noopener ugc nofollow&#34;&gt;https://www.xiachufang.com/recipe/106102790/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;在写这篇记录时，检索查到最初被冠以&lt;a href=&#34;https://zhuanlan.zhihu.com/p/421024233&#34; title=&#34;贝贝南瓜&#34; rel=&#34;noopener ugc nofollow&#34;&gt;贝贝南瓜&lt;/a&gt;之名的是来自日本的少爷（坊ちゃん）南瓜，在日语中，南瓜被称为 “かぼちゃ（kabocha）”，读起来就感觉很呆萌，它的词源来自柬埔寨瓜（カンボジア瓜），南瓜是日本民众在战时的主要粮食，&lt;a href=&#34;https://mp.weixin.qq.com/s?__biz=MzIzNzExMDcwNQ==&amp;amp;mid=2247485753&amp;amp;idx=1&amp;amp;sn=2587b79f2ebc8ad48a93b1c21de12141&amp;amp;chksm=e8ccdde7dfbb54f1643fd01d4284a6e25c7e34503909d5a87f788ec517e4df78a9b71fcd5737&amp;amp;scene=21#wechat_redirect&#34; title=&#34;现在主要有 3 个品种：日本系南瓜、西洋系南瓜、pepo 系南瓜&#34; rel=&#34;noopener ugc nofollow&#34;&gt;现在主要有 3 个品种：日本系南瓜、西洋系南瓜、pepo 系南瓜&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;南瓜到达日本的时间是 1541 年，随着葡萄牙船漂到了如今日本的大分县。相传当时的战国武将&lt;strong&gt;大友宗麟&lt;/strong&gt;引进了南瓜的种植，自此开启了日本南瓜的历史，因此在《织田信奈的野望》中大家会发现大友宗麟全身都是南瓜元素。&lt;/p&gt;
&lt;p&gt;如今日本栽培的南瓜品种大体分为三个大家族，他们分别是日本系南瓜、西洋系南瓜以及 pepo 系南瓜。&lt;/p&gt;
&lt;p&gt;南瓜，原产自墨西哥到中美洲一带，明代传入中国。我们常说的 “南瓜” 在物种上其实应包括原产于美洲的三兄弟 “南瓜”、“笋瓜” 和“西葫芦”，它们同属葫芦科南瓜属（Cucurbita）。南瓜三兄弟在英语中被统称为 “squash”，会用“pumpkin” 来特指形状扁圆，颜色一般为橙黄色的南瓜。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;1720256894069.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;南瓜出现白色斑点，表示这个瓜的淀粉含量高。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;1720256895201.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;把瓜肉和瓜皮捣成泥状，这个需要力气。就像揉面一样，越成泥越要用大力。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;1720256896732.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;教程上用的普通白面粉，我改加黑米面，稍微有点多，最后涂在比较薄的烘焙纸杯上作为蛋挞皮，不够高、不够厚，所以中间的鸡蛋牛奶汁不多，烤出来膨胀不足。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;1720256897649.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;南瓜蛋挞和南瓜派的材料同时准备。南瓜派有 3 层：香蕉、燕麦、牛奶泥做派底，南瓜、牛奶、鸡蛋泥做中层、酸奶做上层点缀。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;1720256899183.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;香蕉、燕麦、生椰牛奶泥&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;1720256900138.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;南瓜、鸡蛋、牛奶成泥。没有打米糊机器，就手动用力搅拌。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;1720256901335.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;灵机一动，烤前用燕麦撒出笑脸样子。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;1720256902769.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;先烤了 20 分钟，用筷子戳了很多洞，继续烤 15 分钟。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;1720256903761.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;烤好出锅铺满酸奶，但是太白了，就用奥利奥饼干点缀。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;1720256904597.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;开始吃南瓜派，货真价实的 3 层，临近晚饭时间吃了三分之一，剩下的冷藏，第二天早餐吃完了。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;1720256905669.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;多余的一碗南瓜鸡蛋牛奶泥，试着用微波炉烤，微微蓬松。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;1720256906751.png&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;昨天特别热，早上用吃完的冰淇淋杯子冻荔枝和山竹。第一次知道荔枝还能这样吃，可能很多水果都可以用牛奶泡着冻。&lt;/p&gt;

      
    </content>
    
  </entry>
  
  <entry>
    <title><![CDATA[饮食的多感官解压]]></title>
    <link rel="alternate" type="text/html" href="https://b.cathere.qzz.io/p/colorful-cook-reduce-stress" />
    <id>https://b.cathere.qzz.io/p/colorful-cook-reduce-stress#4376</id>
    <author>
      <name>MeiC</name>
    </author>
    <published>2022-05-03T03:06:00Z</published>
    <updated>2022-05-03T03:06:00Z</updated>
    
    <content type="html">
      &lt;p&gt;自 2021 年底至今，做饭频次可能超过了前些年的次数总和。&lt;/p&gt;
&lt;p&gt;一个是因疫情影响，2021 农历新年前夕遇到单元楼被隔离，自己囤菜+统筹免费发放菜、肉、蛋，为了不浪费，每天变着花样做饭，尽快消耗掉食物。然而，60 个鸡蛋吃了 2个半月才结束。&lt;/p&gt;
&lt;p&gt;另一点因为恋爱给了莫大的动力，打破了一个人难坚持做饭的情况。即使相距南北，每天也分享做早饭、晚饭。昨天无意间读到一篇文章「&lt;a href=&#34;https://mp.weixin.qq.com/s/x_m1MzAMExPADE75wXmdsw&#34; title=&#34;谈恋爱真的可能变胖，越恩爱越胖&#34; rel=&#34;noopener ugc nofollow&#34;&gt;谈恋爱真的可能变胖，越恩爱越胖&lt;br /&gt;
&lt;/a&gt;」。从文中的调查和研究看，这是普遍现象，想要不步入同样的胖圈，还是得伴侣在生活各种细节上达成一致。&lt;/p&gt;
&lt;p&gt;饮食对我而言除了果腹作用，还能提供一个解压的过程。&lt;/p&gt;
&lt;h3 id=&#34;heading&#34;&gt;配菜&lt;/h3&gt;
&lt;p&gt;做饭最常用的方式是水煮菜，相对比较简便、不用太多时间。&lt;/p&gt;
&lt;p&gt;但不管煮、炒、煲汤，选材主要考虑颜色、种类搭配，做法反而不是主要的。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;红、白、绿、黄、黑多种颜色都有。&lt;/li&gt;
&lt;li&gt;绿叶菜、豆类、菌菇类、块茎类、肉类。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;丰富的颜色和口感，给人不一样的视觉和味觉感受。&lt;/p&gt;
&lt;h3 id=&#34;heading-1&#34;&gt;对辣椒的狂热转变&lt;/h3&gt;
&lt;p&gt;自己特别喜欢、能吃辣。辣味给人体产生的痛感，从神经感知传递到皮肤变红、呼吸急促、鼻涕横流，在精神状态不好的时候能有激活「欢乐素」多巴胺的功效。&lt;/p&gt;
&lt;p&gt;如今，逐渐不再痴迷于特辣辣味，只要饭里有辣椒油的香味、红色也心满意足了。一个月前，我说：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;这是一种转变吧，从辣味到香味、辣红色。喜欢辣，可以是丰满、多角度的，不仅是味觉刺激，也能是嗅觉、视觉的多层感受。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;heading-2&#34;&gt;音频陪伴&lt;/h3&gt;
&lt;p&gt;我已经习惯了在洗菜、洗锅碗的时候听播客节目，有「一千零一夜」「八分」这样的严肃音频，也有「津津乐道」「故事」不用怎么动脑筋的节目。&lt;/p&gt;
&lt;p&gt;注意力实际在洗菜、切菜。旁边的音频声音主要是一种陪伴，偶有极少字眼被大脑抓取存放在潜意识。前几天听「一千零一夜」&lt;a href=&#34;https://www.youtube.com/watch?v=8_vOP6F2hkg&#34; title=&#34;介绍&#34; rel=&#34;noopener ugc nofollow&#34;&gt;介绍&lt;/a&gt;《&lt;a href=&#34;https://book.douban.com/subject/34928037/&#34; title=&#34;生活与命运&#34; rel=&#34;noopener ugc nofollow&#34;&gt;生活与命运&lt;/a&gt;》，昨晚饭后和朋友散步聊天，恰巧提到这本书。&lt;/p&gt;
&lt;h3 id=&#34;heading-3&#34;&gt;「觉得麻烦」是为什么？&lt;/h3&gt;
&lt;p&gt;当然，对炒菜时迸溅到灶台还不能完全接受。分析一下，油汁迸溅到灶台，需要用厨房纸（奢侈.jpg）擦灶台和墙面，给清洗环节产生了额外的麻烦。所以，很少炒浸泡过的木耳。&lt;/p&gt;
&lt;p&gt;自己也特别好奇，「觉得麻烦」本质上是因为什么呢？&lt;/p&gt;
&lt;p&gt;懒惰吗？擦灶台和整个做饭过程相比，时间和操作都很简单了。做饭繁复过程都能完成，显然不是因为懒。&lt;/p&gt;
&lt;p&gt;「麻烦」对应 &#39;trouble&#39;，剑桥词典部分解释：&lt;/p&gt;
&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;problems or difficulties&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;a situation in which you experience problems, usually because of something you have done wrong or badly&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;从第二种含义理解，因为自己提前认知可以避免油迸溅发生，当其他环节很顺利的时候，出现了意外，与自我要求认识不一致，失去了「控制」，所以产生「自责」心理，觉得自己在做饭这件事上做得不够好、做错了。&lt;/p&gt;
&lt;p&gt;如何缓解？——认识到「油迸溅」是炒菜不可避免的，或者用锅盖盖住减少发生。心理层面接纳它出现。&lt;/p&gt;

      
    </content>
    
  </entry>
  
  <entry>
    <title><![CDATA[开平一日游——Travelogue in 2015]]></title>
    <link rel="alternate" type="text/html" href="https://b.cathere.qzz.io/p/travel-in-kaiping" />
    <id>https://b.cathere.qzz.io/p/travel-in-kaiping#4377</id>
    <author>
      <name>MeiC</name>
    </author>
    <published>2015-03-18T03:32:00Z</published>
    <updated>2015-03-18T03:32:00Z</updated>
    
    <content type="html">
      &lt;p&gt;趁着五一节日，与一友去开平市游玩，原本是奔着塘口镇的仓东村教育基地去的，将近四个半小时的路程，我们到了那里，看到仓东村牌坊时累感消失了。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cdn.hashnode.com/res/hashnode/image/upload/v1652576694782/vR713s1KP.jpg&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;在沿着村路进去时周围一块块绿油油的水稻田，总让人忍不住想躺上去。对于我这个北方人来说，这是第一次近距离地看水稻，而且还是出芽没多久的。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cdn.hashnode.com/res/hashnode/image/upload/v1652576777534/oBey-Jzy4.jpg&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cdn.hashnode.com/res/hashnode/image/upload/v1652576787158/sUcxbFBIb.jpg&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;进了村，只看到几位老人坐在自家门前说话，可惜我俩不会粤语，没法和她们交流。其实这里人大部分讲的是本地开平话，也属于粤语一种，与临市台山话相似。&lt;/p&gt;
&lt;p&gt;再往里面走了几步，看到了仓东教育计划项目之一，一栋被修复保护的祠堂，旁边还有一个「寿司学校」、一栋更楼————其门「一夫当关，万夫莫开」，更楼主要是用来瞰望、放哨、御敌。&lt;/p&gt;
&lt;p&gt;原本想进去看看那个祠堂里面，但我们与村民语言不通，没办法更多了解。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cdn.hashnode.com/res/hashnode/image/upload/v1652576848611/Znlk3ddcE.jpg&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;我们再往里走了走，看到有一栋现在还有人居住的房屋外围很奇特，错落有致的砖块从里向外突出一部分。不知有何作用。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cdn.hashnode.com/res/hashnode/image/upload/v1652576865115/-1Ejvsli5.jpg&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;我查了下类似的建筑，越南有一些建筑也是这种，但它们主要还是一种审美的效果。&lt;/p&gt;
&lt;p&gt;仓东村一站就这么结束了，绕着水稻田堤去邻村，偶遇一只够，然后发生「狭路相逢，勇者胜」。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cdn.hashnode.com/res/hashnode/image/upload/v1652576918440/wr61rDDPU.jpg&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;下午 5 点多，我们准备坐车去市区找住的地方，在路边等车时看到一滩绿景&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cdn.hashnode.com/res/hashnode/image/upload/v1652576940107/rv4WjEThe.jpg&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;在这个小镇、开平市比较偏僻区域，我看到最多的是一个个戴着头盔的当地人开着摩托车载人，他们身上套着一件印有各种广告的衣服。可能我太久待在市中心，不知多久没去郊区，再次看到这样的交通工具时很不习惯。这大概是一种在大都市生活太久对小城市、乡村的嫌弃心态，而恰恰忘记了根源自村落。晚上在市区比较偏的饭店吃了黄鳝饭（说实话，真心吃不习惯，主要是看着那一条条东西，大脑就开始想着各种蠕动），随后电话定了住处，赶时间想叫车过去，不料滴滴打车、uber 都用不了。&lt;/p&gt;
&lt;p&gt;吐槽完毕，细细回想此事，太依赖大都市的方便快捷工具，已经让人心理越来越舒适，而且会认为大都市的东西都是最好的，当到了其他地方，没有了同样的服务工具，又不习惯当地的东西，自然会如此。&lt;/p&gt;
&lt;p&gt;第二日早上，在塘口镇自立村碉楼羣吃吃喝喝看看。最舒服的是跟着别人家的旅游团后面，进了碉楼免费听讲解，站在碉楼顶层眺望，周围一片片绿油油的水稻田里屹立着一栋栋碉楼，远处的风带着绿色吹进来。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cdn.hashnode.com/res/hashnode/image/upload/v1652577165497/X_o-WDTjR.jpg&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;大概这栋碉楼在文革时为保留下来，特意写上「共产党万岁」横批的吧。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cdn.hashnode.com/res/hashnode/image/upload/v1652577071241/ylcvC7yxD.jpg&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cdn.hashnode.com/res/hashnode/image/upload/v1652577000525/Bm1DaweyL.jpg&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;下午，又去赤坎古镇看一排排民国骑楼，同时也少不了吃：山楂麦芽糖，豆腐角&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cdn.hashnode.com/res/hashnode/image/upload/v1652577199735/_h1uHYWo2.jpg&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cdn.hashnode.com/res/hashnode/image/upload/v1652577208490/wtJ95RDfy.jpg&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cdn.hashnode.com/res/hashnode/image/upload/v1652577457611/nQqGGqPEQ.jpg&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;每排骑楼都应地势成一定弧度展现，墙壁、柱子上原有的字都还保留着。这些都是历史的见证，是生活气息的留存。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cdn.hashnode.com/res/hashnode/image/upload/v1652577521295/xlT2iimr5.jpg&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cdn.hashnode.com/res/hashnode/image/upload/v1652577529555/q-yXtNUWg.jpg&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cdn.hashnode.com/res/hashnode/image/upload/v1652577545196/C89VUSzcF.jpg&#34; alt=&#34;An image to describe post&#34; /&gt;&lt;/p&gt;
&lt;p&gt;我一直在思考如何游玩，原来那种拍客方式只是匆匆一闪而过，身处其中却没有好好享受历史沉淀。吃只是满足了暂时的胃口，无法长久保存，而特色小吃背后的文化、历史未了解。&lt;/p&gt;

      
    </content>
    
  </entry>
  
</feed>
