vault backup: 2025-07-11 09:28:44

This commit is contained in:
CrazyJasonwell committed 2025-07-11 09:28:44 +08:00
1 parent f7c44713bc
commit da8aa82eda
1 file changed
+242 -242
+242 -242
View File
@@ -306,6 +306,28 @@
"image": null,
"description": "少数派致力于更好地运用数字产品或科学方法,帮助用户提升工作效率和生活品质",
"items": [
{
"title": "派早报:Apple 开启返校季优惠、马斯克发布 Grok 4 等",
"description": "Perplexity 正式推出 Comet 浏览器、JEDEC 发布 LPDDR6 新标准等。<a href=\"https://sspai.com/post/100949\" target=\"_blank\">查看全文</a>",
"content": "Perplexity 正式推出 Comet 浏览器、JEDEC 发布 LPDDR6 新标准等。<a href=\"https://sspai.com/post/100949\" target=\"_blank\">查看全文</a>",
"category": "",
"link": "https://sspai.com/post/100949",
"creator": "少数派编辑部",
"pubDate": "Fri, 11 Jul 2025 08:24:23 +0800",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "",
"language": "zh",
"folder": "资讯",
"feed": "少数派",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "a297ed752cacd03cb459cb9a6ba92d4a",
"highlights": []
},
{
"title": "新玩意 214|少数派的编辑们最近买了啥?",
"description": "关于栏目很多读者都会好奇少数派的编辑们到底平时都「买了啥」。我们希望通过「编辑部的新玩意」介绍编辑部成员们最近在用的新奇产品,让他们自己来谈谈这些新玩意的使用体验究竟如何。内容声明:《新玩意》栏目如含 ...<a href=\"https://sspai.com/post/100938\" target=\"_blank\">查看全文</a>",
@@ -460,28 +482,6 @@
"hash": "7427c5defaf35973a5233dce449d5a6b",
"highlights": []
},
{
"title": "派早报:钉钉发布 AI 表格、Gmail 上线订阅管理功能等",
"description": "微软改进 Microsoft Edge 渲染性能,Raspberry Pi 相机模块 3 传感器组件上市等。<a href=\"https://sspai.com/post/100864\" target=\"_blank\">查看全文</a>",
"content": "微软改进 Microsoft Edge 渲染性能,Raspberry Pi 相机模块 3 传感器组件上市等。<a href=\"https://sspai.com/post/100864\" target=\"_blank\">查看全文</a>",
"category": "",
"link": "https://sspai.com/post/100864",
"creator": "少数派编辑部",
"pubDate": "Wed, 09 Jul 2025 08:27:53 +0800",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "",
"language": "zh",
"folder": "资讯",
"feed": "少数派",
"read": true,
"favorite": false,
"created": false,
"tags": [],
"hash": "483fa4ed749e2c08e326618a39a83b71",
"highlights": []
},
{
"title": "macOS 有了新的磁盘映像格式,Let’s Encrypt 开始签发 IP 地址证书",
"description": "macOS26Tahoe引入全新的磁盘映像格式@广陵止息:不知道大家有没有尝鲜最新的macOS26Tahoe,不知道大家对新的UI设计有什么看法。除了看得见的变化,macOS26Tahoe在底层也做了 ...<a href=\"https://sspai.com/prime/story/inside-release-notes-250708\" target=\"_blank\">查看全文</a><p>本文为会员文章,出自<a href=\"https://sspai.com/prime/precog/single\" target=\"_blank\">《单篇文章》</a >,订阅后可阅读全文。</p >",
@@ -526,6 +526,28 @@
"hash": "97f4738f06e522a220c0041e10964c35",
"highlights": []
},
{
"title": "派早报:钉钉发布 AI 表格、Gmail 上线订阅管理功能等",
"description": "微软改进 Microsoft Edge 渲染性能,Raspberry Pi 相机模块 3 传感器组件上市等。<a href=\"https://sspai.com/post/100864\" target=\"_blank\">查看全文</a>",
"content": "微软改进 Microsoft Edge 渲染性能,Raspberry Pi 相机模块 3 传感器组件上市等。<a href=\"https://sspai.com/post/100864\" target=\"_blank\">查看全文</a>",
"category": "",
"link": "https://sspai.com/post/100864",
"creator": "少数派编辑部",
"pubDate": "Wed, 09 Jul 2025 08:27:53 +0800",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "",
"language": "zh",
"folder": "资讯",
"feed": "少数派",
"read": true,
"favorite": false,
"created": false,
"tags": [],
"hash": "483fa4ed749e2c08e326618a39a83b71",
"highlights": []
},
{
"title": "Apple Music 的自动过渡功能,会带来歌单的未来形态吗?",
"description": "这可能是最让人惊喜,也最有进步余地的新功能。<a href=\"https://sspai.com/post/100790\" target=\"_blank\">查看全文</a>",
@@ -1480,6 +1502,94 @@
"image": null,
"description": "知乎日报全文RSS。获取更多全文RSS:https://feedx.net",
"items": [
{
"title": "瞎扯 · 如何正确地吐槽",
"description": "<div><img src=\"http://picx.zhimg.com/v2-25324afbda8ee5527504a76cf95e7c6a_fhd.jpg?source=8673f162\" alt=\"头图\"/><div><div>\n<div>\n<div>Q:<a href=\"https://www.zhihu.com/question/378598799/answer/3470230563\" target=\"_blank\">有没有表现巨物恐惧症的图片?</a></div>\n</div>\n<div>\n<div><a href=\"https://www.zhihu.com/people/1a002bebf36f9d22436edad8fbffd7ce\" target=\"_blank\" rel=\"noopener noreferrer\">@蓝梦梦</a> :我胆子小,别说巨物,大物就能让我吓得不轻。</div>\n</div>\n<figure contenteditable=\"false\">\n<div>\n<div>\n<div>\n<div>\n<div>\n<div>\n<div><img src=\"http://pica.zhimg.com/80/v2-9846cb98d26cbbfaa9e0bdf71ccfe54c_1440w.png?source=d16d100b\" alt=\"\">\n<div> </div>\n<div> </div>\n</div>\n</div>\n</div>\n</div>\n</div>\n</div>\n<div> </div>\n</div>\n</figure>\n<div>\n<div>Q:<a href=\"https://www.zhihu.com/question/641132833/answer/3438795155\" target=\"_blank\">此时此刻你正在想什么呢?</a></div>\n</div>\n<div>\n<div><a href=\"https://www.zhihu.com/people/7626b2cfe06843a47d0467db087adbb8\" target=\"_blank\" rel=\"noopener noreferrer\">@EGO</a> :今天在 X 上看到了一张图,一开始没看懂,后来笑个不停。</div>\n</div>\n<figure contenteditable=\"false\">\n<div>\n<div>\n<div>\n<div>\n<div>\n<div>\n<div><img src=\"http://pic1.zhimg.com/80/v2-39ac5908085e6d930b88af4e432a48d2_1440w.png?source=d16d100b\" alt=\"\">\n<div> </div>\n<div> </div>\n</div>\n</div>\n</div>\n</div>\n</div>\n</div>\n<div> </div>\n</div>\n</figure>\n<div>\n<div>Q:<a href=\"https://www.zhihu.com/question/445552843/answer/3214069581\" target=\"_blank\">动物真的会报恩吗,有真实事件吗?</a></div>\n</div>\n<blockquote>\n<div><a href=\"https://www.zhihu.com/people/02becdc0a2c1823f2f3294fa2b8ca0fe\" target=\"_blank\" rel=\"noopener noreferrer\">@lunia</a> :舍友的猫经常抓死老鼠到我枕头边, 看我不吃就开始放活老鼠了。</div>\n</blockquote>\n<div>\n<div>Q:<a href=\"https://www.zhihu.com/question/430500729/answer/3478418042\" target=\"_blank\">你们平常有发现什么特别可爱的事情吗?</a></div>\n</div>\n<blockquote>\n<div><a href=\"https://www.zhihu.com/people/f1874f5a10b399ef44fb45023aced4dc\" target=\"_blank\" rel=\"noopener noreferrer\">@小酸菜</a> :小朋友摸头疑问? 「老师,这个小兔子滑滑板是什么字?」 一看,是我名字里的「逸」。 ૮ ///▽/// ა</div>\n</blockquote>\n<div>\n<div>Q:<a href=\"https://www.zhihu.com/question/603934213/answer/3064578108\" target=\"_blank\">你认为最能代表中国的五座城市是?</a></div>\n</div>\n<blockquote>\n<div>第一,安徽芜湖,芜湖起飞,代表着国家已然腾飞。 第二,安徽蚌埠,蚌埠住了,代表着起飞的趋势已势不可挡。 第三,安徽合肥,经济发展之迅速让世界震惊。 第四,安徽马鞍山,李白去世的地方,代表中国古代诗歌文化的巅峰。 第五,南京,作为上面四个城市的老大哥,理应上榜。</div>\n</blockquote>\n</div>\n</div>\n\n\n</div>\n\n\n</div>\n</div><br><hr><div>获取更多RSS:<br><a href=\"https://feedx.net\" style=\"color:orange\" target=\"_blank\">https://feedx.net</a> <br><a href=\"https://feedx.site\" style=\"color:orange\" target=\"_blank\">https://feedx.site</a><br></div>",
"content": "<div><img src=\"http://picx.zhimg.com/v2-25324afbda8ee5527504a76cf95e7c6a_fhd.jpg?source=8673f162\" alt=\"头图\"/><div><div>\n<div>\n<div>Q:<a href=\"https://www.zhihu.com/question/378598799/answer/3470230563\" target=\"_blank\">有没有表现巨物恐惧症的图片?</a></div>\n</div>\n<div>\n<div><a href=\"https://www.zhihu.com/people/1a002bebf36f9d22436edad8fbffd7ce\" target=\"_blank\" rel=\"noopener noreferrer\">@蓝梦梦</a> :我胆子小,别说巨物,大物就能让我吓得不轻。</div>\n</div>\n<figure contenteditable=\"false\">\n<div>\n<div>\n<div>\n<div>\n<div>\n<div>\n<div><img src=\"http://pica.zhimg.com/80/v2-9846cb98d26cbbfaa9e0bdf71ccfe54c_1440w.png?source=d16d100b\" alt=\"\">\n<div> </div>\n<div> </div>\n</div>\n</div>\n</div>\n</div>\n</div>\n</div>\n<div> </div>\n</div>\n</figure>\n<div>\n<div>Q:<a href=\"https://www.zhihu.com/question/641132833/answer/3438795155\" target=\"_blank\">此时此刻你正在想什么呢?</a></div>\n</div>\n<div>\n<div><a href=\"https://www.zhihu.com/people/7626b2cfe06843a47d0467db087adbb8\" target=\"_blank\" rel=\"noopener noreferrer\">@EGO</a> :今天在 X 上看到了一张图,一开始没看懂,后来笑个不停。</div>\n</div>\n<figure contenteditable=\"false\">\n<div>\n<div>\n<div>\n<div>\n<div>\n<div>\n<div><img src=\"http://pic1.zhimg.com/80/v2-39ac5908085e6d930b88af4e432a48d2_1440w.png?source=d16d100b\" alt=\"\">\n<div> </div>\n<div> </div>\n</div>\n</div>\n</div>\n</div>\n</div>\n</div>\n<div> </div>\n</div>\n</figure>\n<div>\n<div>Q:<a href=\"https://www.zhihu.com/question/445552843/answer/3214069581\" target=\"_blank\">动物真的会报恩吗,有真实事件吗?</a></div>\n</div>\n<blockquote>\n<div><a href=\"https://www.zhihu.com/people/02becdc0a2c1823f2f3294fa2b8ca0fe\" target=\"_blank\" rel=\"noopener noreferrer\">@lunia</a> :舍友的猫经常抓死老鼠到我枕头边, 看我不吃就开始放活老鼠了。</div>\n</blockquote>\n<div>\n<div>Q:<a href=\"https://www.zhihu.com/question/430500729/answer/3478418042\" target=\"_blank\">你们平常有发现什么特别可爱的事情吗?</a></div>\n</div>\n<blockquote>\n<div><a href=\"https://www.zhihu.com/people/f1874f5a10b399ef44fb45023aced4dc\" target=\"_blank\" rel=\"noopener noreferrer\">@小酸菜</a> :小朋友摸头疑问? 「老师,这个小兔子滑滑板是什么字?」 一看,是我名字里的「逸」。 ૮ ///▽/// ა</div>\n</blockquote>\n<div>\n<div>Q:<a href=\"https://www.zhihu.com/question/603934213/answer/3064578108\" target=\"_blank\">你认为最能代表中国的五座城市是?</a></div>\n</div>\n<blockquote>\n<div>第一,安徽芜湖,芜湖起飞,代表着国家已然腾飞。 第二,安徽蚌埠,蚌埠住了,代表着起飞的趋势已势不可挡。 第三,安徽合肥,经济发展之迅速让世界震惊。 第四,安徽马鞍山,李白去世的地方,代表中国古代诗歌文化的巅峰。 第五,南京,作为上面四个城市的老大哥,理应上榜。</div>\n</blockquote>\n</div>\n</div>\n\n\n</div>\n\n\n</div>\n</div><br><hr><div>获取更多RSS:<br><a href=\"https://feedx.net\" style=\"color:orange\" target=\"_blank\">https://feedx.net</a> <br><a href=\"https://feedx.site\" style=\"color:orange\" target=\"_blank\">https://feedx.site</a><br></div>",
"category": "",
"link": "https://daily.zhihu.com/story/9782490",
"creator": "",
"pubDate": "Fri, 11 Jul 2025 08:27:02 +0800",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "",
"language": "",
"folder": "资讯",
"feed": "知乎",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "764341d69aae9aec484afa3c5bf71e52",
"highlights": []
},
{
"title": "人们对动物有哪些常见的「误解」?",
"description": "<div><img src=\"http://pic1.zhimg.com/v2-129d67e128911fe2f0c59c99c5d6918c_fhd.jpg?source=8673f162\" alt=\"头图\"/><div><div>\n<p>目前写了这么多科普以来,大家误会最多的就是“拟态”。甚至有不少人把“拟态”当做神创论的解释。</p>\n<p>不如今天就再来好好讲讲拟态吧!</p>\n<p>这是一坨鸟屎:</p>\n<figure><img src=\"http://pic1.zhimg.com/v2-5b1b19e328a83707df3b3a91454e7d3b_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<p>啊不对,其实是台湾铃钩蛾(Macrocilix taiwana),伪装成鸟粪色调的斑点。</p>\n<p>但是可以看出这个鸟屎的画法还略微有些幼稚。</p>\n<p>我们可以“画”得更好一点:</p>\n<figure><img src=\"http://pica.zhimg.com/v2-959d05c7e54c73741c87bbd0e5607234_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<p>同为<strong>狗屎蛾属</strong>,哦不对,是<strong>铃钩蛾属</strong>的宽铃钩蛾 Macrocilix maia 就更进一步,不但拟态了鸟屎,连鸟屎上面的苍蝇都拟态出来了,嗯,这是一只很有味道的蛾子。</p>\n<p>同属的其他蛾子也差不多是这个屎样。</p>\n<figure><img src=\"http://pic1.zhimg.com/v2-0988ccc2b0cac667d7b72e7f145a7f46_720w.jpg?source=8673f162\" alt=\"\"><figcaption>铃钩蛾 Macrocilix mysticata </figcaption></figure>\n<p>可以看出这个属的蛾子模仿鸟屎还是比较有心得的。</p>\n<p>不过这些个屎蛾子只能做出点 2d 的拟态。</p>\n<p><strong>柑橘凤蝶幼虫则十分厉害,能拟态 3D 形状的鸟屎:</strong></p>\n<figure><img src=\"http://pica.zhimg.com/v2-0dd98bf19059e4e635550467b1641642_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<p>刚开始一龄到四龄幼虫的时候模仿鸟屎是没什么问题的,但是当柑橘凤蝶幼虫长到 5 龄幼虫的时候,问题就来了。</p>\n<p>这个时候的幼虫体长有 4cm!而它所处的环境里:</p>\n<p><strong>没有鸟!!能拉这么大一!坨!屎!</strong></p>\n<p>所以它不得不改变策略,变成绿色,拟态小青蛇:</p>\n<p>后胸背两侧有眼状斑纹,腹部有黑色斜纹和白色斑点,并具橙黄色臭腺角(受惊时可伸出散发气味),就像蛇吐信子一样。</p>\n<p>当然最后的蝴蝶形态是黑白相间的,跟幼虫时的颜色没有任何关系,毕竟是完全变态昆虫。</p>\n<p>另外还有个非常有趣的点,动物拟态植物的时候不仅外貌特别像,而动作也要一致。</p>\n<p>模拟植物最常见最出名的应该就是各种螽斯了:</p>\n<figure><img src=\"http://picx.zhimg.com/v2-2fc6a318942d13cff4bc8881ea531b32_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<p>这是亚马逊丛林的螽斯 Acropsis tectiformis,看狐主任手上这一只:</p>\n<figure><img src=\"http://picx.zhimg.com/v2-5f23dfcce4a78100255afd155658aa73_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<p>叶脉都拟态得十分清晰。(每只形状略有差异)</p>\n<p>还有枯叶系的螽斯:</p>\n<figure><img src=\"http://picx.zhimg.com/v2-99b2b4df8adbc13b989f4f74ea1d0a2f_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<p>可以说是达到以假乱真的地步。</p>\n<p>但是还没完,刚才说了,光是像还不行,步态也得跟植物一致。</p>\n<p>比如我们常见的竹节虫:</p>\n<figure><img src=\"http://pic1.zhimg.com/v2-05a0e832c806eb4383e975c1013d843e_720w.gif?source=8673f162\" alt=\"\"></figure>\n<p>你会发现:诶,竹节虫怎么摇摇晃晃的,是不是因为太细了所以下肢力量不稳啊?</p>\n<p>其实不是的,大多数拟态成树枝、树叶的动物都有类似的步态,因为这是树叶树枝被风吹动的时候摇晃的姿态,如果用正常昆虫或者其他动物走路的姿势容易露馅。</p>\n<p>比如平时是绿色的变色龙(拟态树叶),走路的时候也要模拟这样摇晃的步态:</p>\n<figure><img src=\"http://picx.zhimg.com/v2-6406413d7c245be89b6e15e9a99447fa_720w.gif?source=8673f162\" alt=\"\"></figure>\n<p>为什么说这种步态是对树叶的拟态?因为其实变色龙着急早八的时候也是会跑的:</p>\n<figure><img src=\"http://pic1.zhimg.com/v2-177051dd8978be534deffebde0f951de_720w.gif?source=8673f162\" alt=\"\"></figure>\n<p>又比如花纹长得像树叶的丘鹬:</p>\n<figure><img src=\"http://picx.zhimg.com/v2-c14ef5c6d28e9f71e3c0c2e7f478f1ba_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<p>bingo,也是一样的步态:</p>\n<figure><img src=\"http://pica.zhimg.com/v2-3454a1ae7d81a0b261c2fe66104401f5_720w.gif?source=8673f162\" alt=\"\"></figure>\n<p>说到这里你可能觉得我越描越黑了,这些精准的拟态怎么看都不像是自然进化的而是被设计的吧?</p>\n<p>其实不然。</p>\n<p>让我们回到生物课本,看看桦尺蠖的故事:</p>\n<blockquote>英国的曼彻斯特地区有一种桦尺蠖,它们白天栖息在树干上,夜间出来活动。该地区原来树木茂盛,Line truncated
"content": "<div><img src=\"http://pic1.zhimg.com/v2-129d67e128911fe2f0c59c99c5d6918c_fhd.jpg?source=8673f162\" alt=\"头图\"/><div><div>\n<p>目前写了这么多科普以来,大家误会最多的就是“拟态”。甚至有不少人把“拟态”当做神创论的解释。</p>\n<p>不如今天就再来好好讲讲拟态吧!</p>\n<p>这是一坨鸟屎:</p>\n<figure><img src=\"http://pic1.zhimg.com/v2-5b1b19e328a83707df3b3a91454e7d3b_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<p>啊不对,其实是台湾铃钩蛾(Macrocilix taiwana),伪装成鸟粪色调的斑点。</p>\n<p>但是可以看出这个鸟屎的画法还略微有些幼稚。</p>\n<p>我们可以“画”得更好一点:</p>\n<figure><img src=\"http://pica.zhimg.com/v2-959d05c7e54c73741c87bbd0e5607234_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<p>同为<strong>狗屎蛾属</strong>,哦不对,是<strong>铃钩蛾属</strong>的宽铃钩蛾 Macrocilix maia 就更进一步,不但拟态了鸟屎,连鸟屎上面的苍蝇都拟态出来了,嗯,这是一只很有味道的蛾子。</p>\n<p>同属的其他蛾子也差不多是这个屎样。</p>\n<figure><img src=\"http://pic1.zhimg.com/v2-0988ccc2b0cac667d7b72e7f145a7f46_720w.jpg?source=8673f162\" alt=\"\"><figcaption>铃钩蛾 Macrocilix mysticata </figcaption></figure>\n<p>可以看出这个属的蛾子模仿鸟屎还是比较有心得的。</p>\n<p>不过这些个屎蛾子只能做出点 2d 的拟态。</p>\n<p><strong>柑橘凤蝶幼虫则十分厉害,能拟态 3D 形状的鸟屎:</strong></p>\n<figure><img src=\"http://pica.zhimg.com/v2-0dd98bf19059e4e635550467b1641642_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<p>刚开始一龄到四龄幼虫的时候模仿鸟屎是没什么问题的,但是当柑橘凤蝶幼虫长到 5 龄幼虫的时候,问题就来了。</p>\n<p>这个时候的幼虫体长有 4cm!而它所处的环境里:</p>\n<p><strong>没有鸟!!能拉这么大一!坨!屎!</strong></p>\n<p>所以它不得不改变策略,变成绿色,拟态小青蛇:</p>\n<p>后胸背两侧有眼状斑纹,腹部有黑色斜纹和白色斑点,并具橙黄色臭腺角(受惊时可伸出散发气味),就像蛇吐信子一样。</p>\n<p>当然最后的蝴蝶形态是黑白相间的,跟幼虫时的颜色没有任何关系,毕竟是完全变态昆虫。</p>\n<p>另外还有个非常有趣的点,动物拟态植物的时候不仅外貌特别像,而动作也要一致。</p>\n<p>模拟植物最常见最出名的应该就是各种螽斯了:</p>\n<figure><img src=\"http://picx.zhimg.com/v2-2fc6a318942d13cff4bc8881ea531b32_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<p>这是亚马逊丛林的螽斯 Acropsis tectiformis,看狐主任手上这一只:</p>\n<figure><img src=\"http://picx.zhimg.com/v2-5f23dfcce4a78100255afd155658aa73_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<p>叶脉都拟态得十分清晰。(每只形状略有差异)</p>\n<p>还有枯叶系的螽斯:</p>\n<figure><img src=\"http://picx.zhimg.com/v2-99b2b4df8adbc13b989f4f74ea1d0a2f_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<p>可以说是达到以假乱真的地步。</p>\n<p>但是还没完,刚才说了,光是像还不行,步态也得跟植物一致。</p>\n<p>比如我们常见的竹节虫:</p>\n<figure><img src=\"http://pic1.zhimg.com/v2-05a0e832c806eb4383e975c1013d843e_720w.gif?source=8673f162\" alt=\"\"></figure>\n<p>你会发现:诶,竹节虫怎么摇摇晃晃的,是不是因为太细了所以下肢力量不稳啊?</p>\n<p>其实不是的,大多数拟态成树枝、树叶的动物都有类似的步态,因为这是树叶树枝被风吹动的时候摇晃的姿态,如果用正常昆虫或者其他动物走路的姿势容易露馅。</p>\n<p>比如平时是绿色的变色龙(拟态树叶),走路的时候也要模拟这样摇晃的步态:</p>\n<figure><img src=\"http://picx.zhimg.com/v2-6406413d7c245be89b6e15e9a99447fa_720w.gif?source=8673f162\" alt=\"\"></figure>\n<p>为什么说这种步态是对树叶的拟态?因为其实变色龙着急早八的时候也是会跑的:</p>\n<figure><img src=\"http://pic1.zhimg.com/v2-177051dd8978be534deffebde0f951de_720w.gif?source=8673f162\" alt=\"\"></figure>\n<p>又比如花纹长得像树叶的丘鹬:</p>\n<figure><img src=\"http://picx.zhimg.com/v2-c14ef5c6d28e9f71e3c0c2e7f478f1ba_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<p>bingo,也是一样的步态:</p>\n<figure><img src=\"http://pica.zhimg.com/v2-3454a1ae7d81a0b261c2fe66104401f5_720w.gif?source=8673f162\" alt=\"\"></figure>\n<p>说到这里你可能觉得我越描越黑了,这些精准的拟态怎么看都不像是自然进化的而是被设计的吧?</p>\n<p>其实不然。</p>\n<p>让我们回到生物课本,看看桦尺蠖的故事:</p>\n<blockquote>英国的曼彻斯特地区有一种桦尺蠖,它们白天栖息在树干上,夜间出来活动。该地区原来树木茂盛,树Line truncated
"category": "",
"link": "https://daily.zhihu.com/story/9782468",
"creator": "",
"pubDate": "Fri, 11 Jul 2025 08:27:02 +0800",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "",
"language": "",
"folder": "资讯",
"feed": "知乎",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "a813e9732ca4a51a84f1943c38b3d0dc",
"highlights": []
},
{
"title": "怎么区分水獭、海獭、海狸、河狸、水豚?",
"description": "<div><img src=\"http://pic1.zhimg.com/v2-d0ee752f5e51093a55329f6e65f31d1b_fhd.jpg?source=8673f162\" alt=\"头图\"/><div><div>\n<p>嘿,伙计,你说的这几个都是比较热门的明星动物,但是有一个动物有自己的基金会,还有国际性的节日,猜猜是谁?</p>\n<p>当当:</p>\n<p>它就是我们的小水獭:</p>\n<figure><img src=\"http://pic1.zhimg.com/v2-4449feb2199f4f0a4ed06b598d0acb41_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<p>5 月 28 日,小水獭们才过完自己的国际水獭节。</p>\n<p>不过话说这个节日前身是“<strong>疯狂</strong>水獭周”,现在定为每年五月最后一个星期三(不要问我为什么不是<strong>星期四</strong>)。</p>\n<figure><img src=\"http://picx.zhimg.com/v2-a295577699c9500e41c143b92bf68d16_720w.gif?source=8673f162\" alt=\"\"></figure>\n<p>至于为什么会有一个国际水獭节我们后面再讲,我们先来讲讲怎么区分它们吧!</p>\n<p>首先,要看牙齿:</p>\n<figure><img src=\"http://pica.zhimg.com/v2-d98b34fd01a54bdd4bbd8d5e2abbb520_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<p>肉食动物 / 草食动物 / 杂食动物的牙齿是明显不同的。</p>\n<p>肉食动物犬齿明显,臼齿是锯齿状的,而纯草食动物是没有犬齿的,只有杂食动物才会同时有比较平整的臼齿和几颗不多但是比较明显的犬齿。</p>\n<p>而啮齿类动物则有明显的大板牙:</p>\n<figure><img src=\"http://picx.zhimg.com/v2-a58dacf67a16b539af90cd8d4827cea4_720w.jpg?source=8673f162\" alt=\"\"><figcaption>这是土拨鼠,俗名旱獭</figcaption></figure>\n<p>水獭、海獭、海狸、河狸、水豚这几个里面:</p>\n<p>水獭 / 海獭是食肉目,而海狸(<strong>海狸是北美河狸的俗称,海狸就是河狸</strong>)、河狸、水豚是啮齿类动物。</p>\n<p>它们首先看牙齿就能区分出来食肉和啮齿类。</p>\n<p><strong>那么有尖尖的犬牙,我们知道它肯定是海獭或者水獭,我们就先来区分海獭和水獭吧!</strong></p>\n<figure><img src=\"http://pic1.zhimg.com/v2-a2230433910feebd56b879c404a8e91f_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<p>水獭<strong>Lutra lutra</strong>和海獭<strong>Enhydra lutris(都是鼬科</strong>Mustelidae<strong>)</strong>最大的差距是它们的鼻子,海獭是明显的草莓头鼻子,而水獭的鼻子更扁平一些。另外水獭住在淡水里,海獭住海里。</p>\n<p>而且海獭脸更白一些,水獭看起来面具更为明显。</p>\n<p>咱们经常看见的这种揉脸,在水上漂浮的小家伙基本上都是海獭(注意看鼻子)</p>\n<figure><img src=\"http://picx.zhimg.com/v2-d60b2a934bf9250a1843f2c385de72d9_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<figure><img src=\"http://pic1.zhimg.com/v2-fa47dc2392d3a5b86fb86ed05e40ecd1_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<figure><img src=\"http://pic1.zhimg.com/v2-4383100e3b00ff20f9ef4c2c05c3f230_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<p>你看的表情包里面喜欢牵手手和抱娃漂浮的基本上都是海獭</p>\n<figure><img src=\"http://picx.zhimg.com/v2-991c7eb80d1555e48ecf89174735e1c0_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<p>另外,海獭腋下有个皮毛“口袋”,可以用来藏石头砸蛤蜊吃。</p>\n<figure><img src=\"http://pic1.zhimg.com/v2-eed9fd1fd682c03321ca51820155d49f_720w.jpg?source=8673f162\" alt=\"\"><figcaption>可以用来藏起喜欢的球球</figcaption></figure>\n<figure><img src=\"http://picx.zhimg.com/v2-8ec27d6df24cdbd9795a23076afa408b_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<p>而水獭的动图是?</p>\n<p>喜欢打架!</p>\n<figure><img src=\"http://pica.zhimg.com/v2-f77b3ce6560da7c85e2f4f289b496f3f_720w.gif?source=8673f162\" alt=\"\"></figure>\n<p>之前这篇写过:</p>\n<p><a href=\"https://www.zhihu.com/question/1897981755551609311/answer/1898430220559704452\">新加坡水獭大规模「黑帮火并」持续爆发十多年,这么可爱的动物,战斗力为什么如此爆表?</a></p>\n<p>但是另外一方面,水獭作为群居性的肉食动物,智商和可调教性都还算比较不错的。</p>\n<p>从小养的话会很粘人:</p>\n<figure><img src=\"http://pica.zhimg.com/v2-417b86a13013ac862333aa8ba8bcf65d_720w.gif?source=8673f162\" alt=\"\"></figure>\n<p>但是国内不能养水獭作为宠物哦。</p>\n<p>刚才提到了水獭有自己的世界水獭基金会,还有世界水獭日,主要是因为它们是淡水的顶级捕食者,是淡水生态系统的指示种,该水域有水獭说明该水域比较健康,水体较为干净。</p>\n<p>但正是因为水獭对环境要求比较高,全球现存 13 种水獭中,多数因栖息地破坏、水污染、非法皮毛贸易及宠物交易而濒危。</p>\n<p>所有水獭物种均被列入《濒危野生动植物种国际贸易公约》(CITES)附录,国际商业交易Line truncated
"content": "<div><img src=\"http://pic1.zhimg.com/v2-d0ee752f5e51093a55329f6e65f31d1b_fhd.jpg?source=8673f162\" alt=\"头图\"/><div><div>\n<p>嘿,伙计,你说的这几个都是比较热门的明星动物,但是有一个动物有自己的基金会,还有国际性的节日,猜猜是谁?</p>\n<p>当当:</p>\n<p>它就是我们的小水獭:</p>\n<figure><img src=\"http://pic1.zhimg.com/v2-4449feb2199f4f0a4ed06b598d0acb41_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<p>5 月 28 日,小水獭们才过完自己的国际水獭节。</p>\n<p>不过话说这个节日前身是“<strong>疯狂</strong>水獭周”,现在定为每年五月最后一个星期三(不要问我为什么不是<strong>星期四</strong>)。</p>\n<figure><img src=\"http://picx.zhimg.com/v2-a295577699c9500e41c143b92bf68d16_720w.gif?source=8673f162\" alt=\"\"></figure>\n<p>至于为什么会有一个国际水獭节我们后面再讲,我们先来讲讲怎么区分它们吧!</p>\n<p>首先,要看牙齿:</p>\n<figure><img src=\"http://pica.zhimg.com/v2-d98b34fd01a54bdd4bbd8d5e2abbb520_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<p>肉食动物 / 草食动物 / 杂食动物的牙齿是明显不同的。</p>\n<p>肉食动物犬齿明显,臼齿是锯齿状的,而纯草食动物是没有犬齿的,只有杂食动物才会同时有比较平整的臼齿和几颗不多但是比较明显的犬齿。</p>\n<p>而啮齿类动物则有明显的大板牙:</p>\n<figure><img src=\"http://picx.zhimg.com/v2-a58dacf67a16b539af90cd8d4827cea4_720w.jpg?source=8673f162\" alt=\"\"><figcaption>这是土拨鼠,俗名旱獭</figcaption></figure>\n<p>水獭、海獭、海狸、河狸、水豚这几个里面:</p>\n<p>水獭 / 海獭是食肉目,而海狸(<strong>海狸是北美河狸的俗称,海狸就是河狸</strong>)、河狸、水豚是啮齿类动物。</p>\n<p>它们首先看牙齿就能区分出来食肉和啮齿类。</p>\n<p><strong>那么有尖尖的犬牙,我们知道它肯定是海獭或者水獭,我们就先来区分海獭和水獭吧!</strong></p>\n<figure><img src=\"http://pic1.zhimg.com/v2-a2230433910feebd56b879c404a8e91f_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<p>水獭<strong>Lutra lutra</strong>和海獭<strong>Enhydra lutris(都是鼬科</strong>Mustelidae<strong>)</strong>最大的差距是它们的鼻子,海獭是明显的草莓头鼻子,而水獭的鼻子更扁平一些。另外水獭住在淡水里,海獭住海里。</p>\n<p>而且海獭脸更白一些,水獭看起来面具更为明显。</p>\n<p>咱们经常看见的这种揉脸,在水上漂浮的小家伙基本上都是海獭(注意看鼻子)</p>\n<figure><img src=\"http://picx.zhimg.com/v2-d60b2a934bf9250a1843f2c385de72d9_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<figure><img src=\"http://pic1.zhimg.com/v2-fa47dc2392d3a5b86fb86ed05e40ecd1_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<figure><img src=\"http://pic1.zhimg.com/v2-4383100e3b00ff20f9ef4c2c05c3f230_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<p>你看的表情包里面喜欢牵手手和抱娃漂浮的基本上都是海獭</p>\n<figure><img src=\"http://picx.zhimg.com/v2-991c7eb80d1555e48ecf89174735e1c0_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<p>另外,海獭腋下有个皮毛“口袋”,可以用来藏石头砸蛤蜊吃。</p>\n<figure><img src=\"http://pic1.zhimg.com/v2-eed9fd1fd682c03321ca51820155d49f_720w.jpg?source=8673f162\" alt=\"\"><figcaption>可以用来藏起喜欢的球球</figcaption></figure>\n<figure><img src=\"http://picx.zhimg.com/v2-8ec27d6df24cdbd9795a23076afa408b_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<p>而水獭的动图是?</p>\n<p>喜欢打架!</p>\n<figure><img src=\"http://pica.zhimg.com/v2-f77b3ce6560da7c85e2f4f289b496f3f_720w.gif?source=8673f162\" alt=\"\"></figure>\n<p>之前这篇写过:</p>\n<p><a href=\"https://www.zhihu.com/question/1897981755551609311/answer/1898430220559704452\">新加坡水獭大规模「黑帮火并」持续爆发十多年,这么可爱的动物,战斗力为什么如此爆表?</a></p>\n<p>但是另外一方面,水獭作为群居性的肉食动物,智商和可调教性都还算比较不错的。</p>\n<p>从小养的话会很粘人:</p>\n<figure><img src=\"http://pica.zhimg.com/v2-417b86a13013ac862333aa8ba8bcf65d_720w.gif?source=8673f162\" alt=\"\"></figure>\n<p>但是国内不能养水獭作为宠物哦。</p>\n<p>刚才提到了水獭有自己的世界水獭基金会,还有世界水獭日,主要是因为它们是淡水的顶级捕食者,是淡水生态系统的指示种,该水域有水獭说明该水域比较健康,水体较为干净。</p>\n<p>但正是因为水獭对环境要求比较高,全球现存 13 种水獭中,多数因栖息地破坏、水污染、非法皮毛贸易及宠物交易而濒危。</p>\n<p>所有水獭物种均被列入《濒危野生动植物种国际贸易公约》(CITES)附录,国际商业交易被Line truncated
"category": "",
"link": "https://daily.zhihu.com/story/9782477",
"creator": "",
"pubDate": "Fri, 11 Jul 2025 08:27:02 +0800",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "",
"language": "",
"folder": "资讯",
"feed": "知乎",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "0d8c070feaadc46830cf7e02cddd21d4",
"highlights": []
},
{
"title": "古人是如何知道矿石能够炼铁炼铜的?",
"description": "<div><img src=\"http://pic1.zhimg.com/v2-18c50f5a67200de03e7cca2bef5ff2f6_fhd.jpg?source=8673f162\" alt=\"头图\"/><div><div>\n<p>一直在做古代金属器科技史的科普和研学,这个问题本来也是一些场合我做线下科普的开场介绍部分,在这里赘述一番:</p>\n<p>古人与金属矿石打交道的时间很久远,比通常想象的更久远,要以万计,早于大家认知的文明史;</p>\n<p>同样的,古人对金属矿和金属器的认认知,也比通常想象的更缓慢,即便是认知速度相对飞快的古代中国。</p>\n<p>可以先放下我们作为现代人,对金属有着或多或少的认知。</p>\n<p>金属矿石,首先也是石。</p>\n<hr>\n<p>因此这个问题最早可以上溯到旧石器时代,人类对不同石头的挑选和改造。</p>\n<p>这里就出现了人类最早可以认知的第一类金属器:</p>\n<p><strong><strong>天然形成的自然金属</strong></strong></p>\n<p>一个显而易见的事实是,这些自然金属对于古人类而言,是一类特殊的石头。</p>\n<p>这一金属类型非常有限,大致分两大类:</p>\n<p>其中一类极为罕见,来自外太空,比如天然铁,尽管地球的铁元素非常丰富,但地表没有能形成自然铁的环境。</p>\n<p>只有一种罕见来源——铁陨石。</p>\n<p>北美原住民(被称作印第安人)就使用陨铁制作铁器。下图是一片陨铁,上面有原始加工痕迹,被有些学者认为是附近 2000 年前墓葬内铁器的来源。</p>\n<figure><img src=\"http://pica.zhimg.com/v2-6411ea2a72bf5f3b41888eb9489d8d61_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<p>著名的此类物件,如出土自图坦卡蒙墓的铁匕首,就由铁陨石制成,并不代表当时古埃及拥有锻铁的技术,时间约 3300BCE</p>\n<figure><img src=\"http://picx.zhimg.com/v2-da0c37732aa20b41912f19633cfcd488_720w.jpg?source=8673f162\" alt=\"\"><figcaption>埃及博物馆图</figcaption></figure>\n<p>另一类是化学性质不活泼的贵金属,比如自然铂、金、银、铜。</p>\n<p>比如天然富集的大块金,又被称作狗头金</p>\n<figure><img src=\"http://pica.zhimg.com/v2-2887a4c23069c17e22c0cb3b2111b8bb_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<p>纯度高的金属,硬度普遍不足,但性质稳定、总量稀少,因此主要有两大用途:</p>\n<p>一是作为货币;二是作为装饰。</p>\n<p><strong>自然铜</strong></p>\n<p>铜在这里首次出场。</p>\n<p>人类最开始对铜的使用,从现有的考古学证据来看,就是自然铜。</p>\n<p>而限制早期人类使用自然铜的主要因素是地域分布和地表储量。</p>\n<figure><img src=\"http://picx.zhimg.com/v2-5cc5c06e5508e8bf609ea996fdb345a0_720w.jpg?source=8673f162\" alt=\"\"><figcaption>自然铜</figcaption></figure>\n<p>这一年限可以非常早,可能随着更多考古新发现继续往前推:</p>\n<p>例如,在对北美古铜器的铅同位素比对(这是另一个很大的议题,这里不展开)以及 C14 测年显示,北美原住民(被称作印第安人)在 9500 年前就开始利用自然铜,但在 5000 年前中止了。</p>\n<figure><img src=\"http://picx.zhimg.com/v2-b75106f289b72021c0119f7ac1cc0714_720w.jpg?source=8673f162\" alt=\"\"><figcaption>现代科学家根据出土物仿制的投掷器锥形铜尖</figcaption></figure>\n<p>这一结论打破了此前一些学者认为的,进入金属器历史后不会再退回石器的思维。</p>\n<p>其实,仅仅使用自然铜的情况下,如前文所言,自然铜只会被认为是诸多石材之中的一种。在金属硬度并不显著的情况下,自然铜被其他石材替代是可以理解的。</p>\n<p>这是新大陆的情况,而在旧大陆,人们对自然铜的应用历史同样悠久,并进一步形成了对金属器的一系列热锻加工。</p>\n<p><strong>低温冶炼金属</strong></p>\n<p>天然形成金属的量是非常有限的,但有另一颗科技树,可以获得金属——高温。</p>\n<p>并非高温的火堆就能还原金属。</p>\n<p>高温氛围必须分氧化性氛围和还原性氛围,而冶炼金属必须是还原性氛围。</p>\n<p><strong>还原性氛围</strong></p>\n<p>这里就牵扯到另一个与冶炼共用部分科技树的领域——陶瓷。</p>\n<p>熟悉我国古代陶器的读者们知道,陶器有不同的颜色:比如仰韶文化、马家窑文化时期等流行的红陶、还有龙山文化时期流行的灰陶。</p>\n<p>类似的,大家会看到,明清时期很多城墙房屋使用青砖、而 20 世纪我国的建筑以红砖为主。</p>\n<p>这里面其实就与氧化性氛围和还原性氛围有关。</p>\n<figure><img src=\"http://picx.zhimg.com/v2-d3550dd82a6dc5fd2ea6488672022784_720w.jpg?source=8673f162\" alt=\"\"><figcaption>马家窑文化红陶彩陶(左)、龙山文化灰陶蛋壳陶(右)</figLine truncated
"content": "<div><img src=\"http://pic1.zhimg.com/v2-18c50f5a67200de03e7cca2bef5ff2f6_fhd.jpg?source=8673f162\" alt=\"头图\"/><div><div>\n<p>一直在做古代金属器科技史的科普和研学,这个问题本来也是一些场合我做线下科普的开场介绍部分,在这里赘述一番:</p>\n<p>古人与金属矿石打交道的时间很久远,比通常想象的更久远,要以万计,早于大家认知的文明史;</p>\n<p>同样的,古人对金属矿和金属器的认认知,也比通常想象的更缓慢,即便是认知速度相对飞快的古代中国。</p>\n<p>可以先放下我们作为现代人,对金属有着或多或少的认知。</p>\n<p>金属矿石,首先也是石。</p>\n<hr>\n<p>因此这个问题最早可以上溯到旧石器时代,人类对不同石头的挑选和改造。</p>\n<p>这里就出现了人类最早可以认知的第一类金属器:</p>\n<p><strong><strong>天然形成的自然金属</strong></strong></p>\n<p>一个显而易见的事实是,这些自然金属对于古人类而言,是一类特殊的石头。</p>\n<p>这一金属类型非常有限,大致分两大类:</p>\n<p>其中一类极为罕见,来自外太空,比如天然铁,尽管地球的铁元素非常丰富,但地表没有能形成自然铁的环境。</p>\n<p>只有一种罕见来源——铁陨石。</p>\n<p>北美原住民(被称作印第安人)就使用陨铁制作铁器。下图是一片陨铁,上面有原始加工痕迹,被有些学者认为是附近 2000 年前墓葬内铁器的来源。</p>\n<figure><img src=\"http://pica.zhimg.com/v2-6411ea2a72bf5f3b41888eb9489d8d61_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<p>著名的此类物件,如出土自图坦卡蒙墓的铁匕首,就由铁陨石制成,并不代表当时古埃及拥有锻铁的技术,时间约 3300BCE</p>\n<figure><img src=\"http://picx.zhimg.com/v2-da0c37732aa20b41912f19633cfcd488_720w.jpg?source=8673f162\" alt=\"\"><figcaption>埃及博物馆图</figcaption></figure>\n<p>另一类是化学性质不活泼的贵金属,比如自然铂、金、银、铜。</p>\n<p>比如天然富集的大块金,又被称作狗头金</p>\n<figure><img src=\"http://pica.zhimg.com/v2-2887a4c23069c17e22c0cb3b2111b8bb_720w.jpg?source=8673f162\" alt=\"\"></figure>\n<p>纯度高的金属,硬度普遍不足,但性质稳定、总量稀少,因此主要有两大用途:</p>\n<p>一是作为货币;二是作为装饰。</p>\n<p><strong>自然铜</strong></p>\n<p>铜在这里首次出场。</p>\n<p>人类最开始对铜的使用,从现有的考古学证据来看,就是自然铜。</p>\n<p>而限制早期人类使用自然铜的主要因素是地域分布和地表储量。</p>\n<figure><img src=\"http://picx.zhimg.com/v2-5cc5c06e5508e8bf609ea996fdb345a0_720w.jpg?source=8673f162\" alt=\"\"><figcaption>自然铜</figcaption></figure>\n<p>这一年限可以非常早,可能随着更多考古新发现继续往前推:</p>\n<p>例如,在对北美古铜器的铅同位素比对(这是另一个很大的议题,这里不展开)以及 C14 测年显示,北美原住民(被称作印第安人)在 9500 年前就开始利用自然铜,但在 5000 年前中止了。</p>\n<figure><img src=\"http://picx.zhimg.com/v2-b75106f289b72021c0119f7ac1cc0714_720w.jpg?source=8673f162\" alt=\"\"><figcaption>现代科学家根据出土物仿制的投掷器锥形铜尖</figcaption></figure>\n<p>这一结论打破了此前一些学者认为的,进入金属器历史后不会再退回石器的思维。</p>\n<p>其实,仅仅使用自然铜的情况下,如前文所言,自然铜只会被认为是诸多石材之中的一种。在金属硬度并不显著的情况下,自然铜被其他石材替代是可以理解的。</p>\n<p>这是新大陆的情况,而在旧大陆,人们对自然铜的应用历史同样悠久,并进一步形成了对金属器的一系列热锻加工。</p>\n<p><strong>低温冶炼金属</strong></p>\n<p>天然形成金属的量是非常有限的,但有另一颗科技树,可以获得金属——高温。</p>\n<p>并非高温的火堆就能还原金属。</p>\n<p>高温氛围必须分氧化性氛围和还原性氛围,而冶炼金属必须是还原性氛围。</p>\n<p><strong>还原性氛围</strong></p>\n<p>这里就牵扯到另一个与冶炼共用部分科技树的领域——陶瓷。</p>\n<p>熟悉我国古代陶器的读者们知道,陶器有不同的颜色:比如仰韶文化、马家窑文化时期等流行的红陶、还有龙山文化时期流行的灰陶。</p>\n<p>类似的,大家会看到,明清时期很多城墙房屋使用青砖、而 20 世纪我国的建筑以红砖为主。</p>\n<p>这里面其实就与氧化性氛围和还原性氛围有关。</p>\n<figure><img src=\"http://picx.zhimg.com/v2-d3550dd82a6dc5fd2ea6488672022784_720w.jpg?source=8673f162\" alt=\"\"><figcaption>马家窑文化红陶彩陶(左)、龙山文化灰陶蛋壳陶(右)</figcaptLine truncated
"category": "",
"link": "https://daily.zhihu.com/story/9782483",
"creator": "",
"pubDate": "Fri, 11 Jul 2025 08:27:02 +0800",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "",
"language": "",
"folder": "资讯",
"feed": "知乎",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "5d4fa4d2344f5e35dbe27c1784fde42c",
"highlights": []
},
{
"title": "瞎扯 · 如何正确地吐槽",
"description": "<div><img src=\"http://pic1.zhimg.com/v2-25324afbda8ee5527504a76cf95e7c6a_fhd.jpg?source=8673f162\" alt=\"头图\"/><div><div>\n<div>\n<div>Q:<a href=\"https://www.zhihu.com/question/1908102066179663619/answer/1909422097379341739\" target=\"_blank\">鸡那么脏,那为啥鸡巢几乎没有蟑螂?</a></div>\n</div>\n<blockquote>\n<div><a href=\"https://www.zhihu.com/people/ac99c0eff7835ac6d7cec7852dc5722e\" target=\"_blank\" rel=\"noopener noreferrer\">@席萝</a> :阁下可能对鸡的破坏力没什么概念。</div>\n</blockquote>\n<figure contenteditable=\"false\">\n<div>\n<div>\n<div>\n<div>\n<div>\n<div>\n<div><img src=\"http://pica.zhimg.com/80/v2-b6ede4d66283193c4deede4b5ed8bf94_1440w.png?source=d16d100b\" alt=\"\">\n<div> </div>\n<div> </div>\n</div>\n</div>\n</div>\n</div>\n</div>\n</div>\n<div> </div>\n</div>\n</figure>\n<figure contenteditable=\"false\">\n<div>\n<div>\n<div>\n<div>\n<div>\n<div>\n<div><img src=\"http://pica.zhimg.com/80/v2-c26c71894603e765ee73df3f3e59b1d8_1440w.png?source=d16d100b\" alt=\"\">\n<div> </div>\n<div> </div>\n</div>\n</div>\n</div>\n</div>\n</div>\n</div>\n<div> </div>\n</div>\n</figure>\n<div>\n<div>Q:<a href=\"https://www.zhihu.com/question/619388169/answer/3188271923\" target=\"_blank\">中国最不可更改的省会是哪一个?</a></div>\n</div>\n<blockquote>\n<div><a href=\"https://www.zhihu.com/people/aa77a95f7874c4ba2a2076addebcbf61\" target=\"_blank\" rel=\"noopener noreferrer\">@科穆宁之怒</a> :别的不说,青海省只有西宁一个城市……甚至没有其他可以称之为「城市」的地方。</div>\n</blockquote>\n<div>\n<div>Q:<a href=\"https://www.zhihu.com/question/339110459/answer/3611158258\" target=\"_blank\">如何激怒一位化学爱好者?</a></div>\n</div>\n<blockquote>\n<div><a href=\"https://www.zhihu.com/people/2ae840f8a9ddcb033abfdde3ef09d5af\" target=\"_blank\" rel=\"noopener noreferrer\">@水隼</a> :领导:小王啊,去把碗洗了。 小王:我可是化学领域的专业人士。 领导:那好,记得刷三遍,直到内壁的水既不聚成水滴也不成股流下。</div>\n</blockquote>\n<div>\n<div>Q:<a href=\"https://www.zhihu.com/question/656308312/answer/107098171060\" target=\"_blank\">你做过最无用的节俭行为是啥?</a></div>\n</div>\n<blockquote>\n<div><a href=\"https://www.zhihu.com/people/44f66f08f7e867424a6306d203f44a01\" target=\"_blank\" rel=\"noopener noreferrer\">@阿猫lh</a> :车厘子 40 块钱一斤不舍得买, 打开股票账户一看亏了两吨半。</div>\n</blockquote>\n<div>\n<div>Q:<a href=\"https://www.zhihu.com/question/61803257/answer/3195604171\" target=\"_blank\">你做过什么特别对不起自家宠物的事情?</a></div>\n</div>\n<blockquote>\n<div><a href=\"https://www.zhihu.com/people/ac283ae52f7252600fec517b5b0e8653\" target=\"_blank\" rel=\"noopener noreferrer\">@那兰峙月</a> :捡到一只被气枪打伤的信鸽,送去宠物医院缝合伤口救活了,然后就打算先养一阵子,等它伤好了再放飞…… 然后,赖我,没仔细研究养鸽子的功课,每天一碗玉米粒的喂,喂成了胖子飞不动了……</div>\n</blockquote>\n<figure contenteditable=\"false\">\n<div>\n<div>\n<div>\n<div>\n<div>\n<div>\n<div><img src=\"http://picx.zhimg.com/80/v2-c3f2ef76c1b769d9a93fb9885b794461_1440w.png?source=d16d100b\" alt=\"\">\n<div> </div>\n<div> </div>\n</div>\n</div>\n</div>\n</div>\n</div>\n</div>\n<div> </div>\n</div>\n</figure>\n<blockquote>\n<div>补充:我忘记说了,它的名字叫陈小缘,本意是捡到它是缘分,结果变圆球的圆了。 2024-02-07 更新,找到了它做完缝合手术出院到我家的照片……完全看不出来是同一只吧……</div>\n</blockquote>\n<figure contenteditable=\"false\">\n<div>\n<div>\n<div>\n<div>\n<div>\n<div>\n<div><img src=\"http://pica.zhimg.com/80/v2-c667f7a63ecce37c832fba551fddfe02_1440w.png?source=d16d100b\" alt=\"\">\n<div> </div>\n<div> </div>\n</div>\n</div>\n</div>\n</div>\n</div>\n</div>\n<div> </div>\n</div>\n</figure>\n<div> </div>\n</div>\n</div>\n\n\n</div>\n\n\n</div>\n</div>",
@@ -2254,226 +2364,6 @@
"image": null,
"description": "",
"items": [
{
"title": "IntelliSSH:AI驱动的远程服务器管理软件",
"description": "<!DOCTYPE html>\n<html class=\"\n\">\n <head>\n <meta name=\"wechat-enable-text-zoom-em\" content=\"true\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover\">\n<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico\" reportloaderror>\n<link rel=\"mask-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/MjliNWVm.svg\" color=\"#4C4C4C\" reportloaderror>\n<link rel=\"apple-touch-icon-precomposed\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png\" reportloaderror>\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n<meta name=\"format-detection\" content=\"telephone=no\">\n<meta name=\"referrer\" content=\"origin-when-cross-origin\">\n<meta name=\"referrer\" content=\"strict-origin-when-cross-origin\">\n<script nonce=\"266482432\" reportloaderror>try{document.getElementsByTagName('html').item(0).style.webkitTextSizeAdjust=JSON.parse(window.__wxWebEnv.getEnv()).fontScale+'%'}catch(e){}</script>\n<script type=\"text/javascript\" nonce=\"266482432\" reportloaderror>\n window.logs = { pagetime: {} };\n window.logs.pagetime['html_begin'] = (+new Date());\n window.LANG = \"en\";\n</script>\n\n \n<script nonce=\"266482432\" reportloaderror>\nwindow.__moon_initcallback = function () {\n if (!!window.__initCatch) {\n window.__initCatch({\n idkey: 27611 + 2,\n startKey: 0,\n limit: 128,\n badjsId: 43,\n reportOpt: {\n uin: '',\n biz: \"MzI1NTQxMzc3MA==\" || \"\",\n mid: \"2247509587\" || \"\" || \"\",\n idx: \"1\" || \"\" || \"\",\n sn: \"df4248eea569923f43f773ef649506dd\" || \"\" || \"\",\n },\n extInfo: {\n network_rate: 0.01, \n badjs_rate: 0.1\n }\n });\n }\n}\n</script>\n\n <script type=\"text/javascript\" nonce=\"266482432\" reportloaderror>\n \n \n var WX_BJ_REPORT = window.WX_BJ_REPORT || {};\n (function(_) {\n if (_.BadJs) {\n return;\n }\n \n var BADJS_WIN_ERR = 'BadjsWindowError';\n var extend = function(source, destination) {\n for (var property in destination) {\n source[property] = destination[property]\n }\n return source\n }\n \n _.BadJs = {\n uin: 0,\n mid: \"\",\n view: \"wap\",\n _cache: {},\n _info: {},\n _hookCallback: null,\n ignorePath: true,\n throw: function(e, extData) {\n this.onError(e, extData);\n throw e;\n },\n \n \n onError: function(e, extData) {\n try {\n \n if (e.BADJS_EXCUTED == true) {\n return;\n }\n e.BADJS_EXCUTED = true;\n var data = errToData(e);\n data.uin = this.uin;\n data.mid = this.mid;\n data.view = this.view;\n data.cmdb_module = 'mmbizwap';\n \n if (!!extData) {\n data = extend(data, extData);\n }\n \n if (data.cid) {\n data.key = \"[\" + data.cid + \"]:\" + data.key;\n }\n \n if (data._info) {\n if (Object.prototype.toString.call(data._info) == \"[object Object]\") {\n data.msg += \" || info:\" + JSON.stringify(data._info);\n } else if (Object.prototype.toString.call(data._info) == \"[object String]\") {\n data.msg += \" || info:\" + data._info;\n } else {\n data.msg += \" || info:\" + data._info;\n }\n }\n if (typeof this._hookCallback == \"function\") {\n if (this._hookCallback(data) === false) {\n return\n }\n }\n this._send(data);\n return _.BadJs;\n } catch (e) {\n console.error(e);\n }\n },\n winErr: function(event) {\n if (event.error && event.error.BADJS_EXCUTED) {\n return;\n }\n if (event.type === 'unhandledrejection') {\n if (event.reason instanceof Error) {\n var e = event.reason || {};\n _.BadJs.onError(createError(event.type, e.message || \"\", e.sourceURL || \"\", e.line || \"\", e.column || \"\", event.reason));\n } else {\n var message = typeof event.reason === 'object' ? JSON.stringify(event.reason) : event.reason;\n _.BadJs.onError(createError(event.type, message, \"\", \"\", \"\", event.reason));\n }\n }else{\n _.BadJs.onError(createError(BADJS_WIN_ERR, event.message, event.filename, event.lineno, event.colno, event.error));\n }\n },\n init: function(uin, mid, view) {\n this.uiLine truncated
"content": "<!DOCTYPE html>\n<html class=\"\n\">\n <head>\n <meta name=\"wechat-enable-text-zoom-em\" content=\"true\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover\">\n<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico\" reportloaderror>\n<link rel=\"mask-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/MjliNWVm.svg\" color=\"#4C4C4C\" reportloaderror>\n<link rel=\"apple-touch-icon-precomposed\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png\" reportloaderror>\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n<meta name=\"format-detection\" content=\"telephone=no\">\n<meta name=\"referrer\" content=\"origin-when-cross-origin\">\n<meta name=\"referrer\" content=\"strict-origin-when-cross-origin\">\n<script nonce=\"266482432\" reportloaderror>try{document.getElementsByTagName('html').item(0).style.webkitTextSizeAdjust=JSON.parse(window.__wxWebEnv.getEnv()).fontScale+'%'}catch(e){}</script>\n<script type=\"text/javascript\" nonce=\"266482432\" reportloaderror>\n window.logs = { pagetime: {} };\n window.logs.pagetime['html_begin'] = (+new Date());\n window.LANG = \"en\";\n</script>\n\n \n<script nonce=\"266482432\" reportloaderror>\nwindow.__moon_initcallback = function () {\n if (!!window.__initCatch) {\n window.__initCatch({\n idkey: 27611 + 2,\n startKey: 0,\n limit: 128,\n badjsId: 43,\n reportOpt: {\n uin: '',\n biz: \"MzI1NTQxMzc3MA==\" || \"\",\n mid: \"2247509587\" || \"\" || \"\",\n idx: \"1\" || \"\" || \"\",\n sn: \"df4248eea569923f43f773ef649506dd\" || \"\" || \"\",\n },\n extInfo: {\n network_rate: 0.01, \n badjs_rate: 0.1\n }\n });\n }\n}\n</script>\n\n <script type=\"text/javascript\" nonce=\"266482432\" reportloaderror>\n \n \n var WX_BJ_REPORT = window.WX_BJ_REPORT || {};\n (function(_) {\n if (_.BadJs) {\n return;\n }\n \n var BADJS_WIN_ERR = 'BadjsWindowError';\n var extend = function(source, destination) {\n for (var property in destination) {\n source[property] = destination[property]\n }\n return source\n }\n \n _.BadJs = {\n uin: 0,\n mid: \"\",\n view: \"wap\",\n _cache: {},\n _info: {},\n _hookCallback: null,\n ignorePath: true,\n throw: function(e, extData) {\n this.onError(e, extData);\n throw e;\n },\n \n \n onError: function(e, extData) {\n try {\n \n if (e.BADJS_EXCUTED == true) {\n return;\n }\n e.BADJS_EXCUTED = true;\n var data = errToData(e);\n data.uin = this.uin;\n data.mid = this.mid;\n data.view = this.view;\n data.cmdb_module = 'mmbizwap';\n \n if (!!extData) {\n data = extend(data, extData);\n }\n \n if (data.cid) {\n data.key = \"[\" + data.cid + \"]:\" + data.key;\n }\n \n if (data._info) {\n if (Object.prototype.toString.call(data._info) == \"[object Object]\") {\n data.msg += \" || info:\" + JSON.stringify(data._info);\n } else if (Object.prototype.toString.call(data._info) == \"[object String]\") {\n data.msg += \" || info:\" + data._info;\n } else {\n data.msg += \" || info:\" + data._info;\n }\n }\n if (typeof this._hookCallback == \"function\") {\n if (this._hookCallback(data) === false) {\n return\n }\n }\n this._send(data);\n return _.BadJs;\n } catch (e) {\n console.error(e);\n }\n },\n winErr: function(event) {\n if (event.error && event.error.BADJS_EXCUTED) {\n return;\n }\n if (event.type === 'unhandledrejection') {\n if (event.reason instanceof Error) {\n var e = event.reason || {};\n _.BadJs.onError(createError(event.type, e.message || \"\", e.sourceURL || \"\", e.line || \"\", e.column || \"\", event.reason));\n } else {\n var message = typeof event.reason === 'object' ? JSON.stringify(event.reason) : event.reason;\n _.BadJs.onError(createError(event.type, message, \"\", \"\", \"\", event.reason));\n }\n }else{\n _.BadJs.onError(createError(BADJS_WIN_ERR, event.message, event.filename, event.lineno, event.colno, event.error));\n }\n },\n init: function(uin, mid, view) {\n this.uin = Line truncated
"category": "",
"link": "https://mp.weixin.qq.com/s/OQujCpu9iGz2VLn3EiwbGg",
"creator": "",
"pubDate": "2025-07-09T11:01:21.000Z",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "OQujCpu9iGz2VLn3EiwbGg",
"language": "",
"folder": "IT技术",
"feed": "各种折腾",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "290eeedc7d45ee8faa23fab84d6ac371",
"highlights": []
},
{
"title": "自托管的云文件存储解决方案Phylum",
"description": "<!DOCTYPE html>\n<html class=\"\n\">\n <head>\n <meta name=\"wechat-enable-text-zoom-em\" content=\"true\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover\">\n<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico\" reportloaderror>\n<link rel=\"mask-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/MjliNWVm.svg\" color=\"#4C4C4C\" reportloaderror>\n<link rel=\"apple-touch-icon-precomposed\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png\" reportloaderror>\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n<meta name=\"format-detection\" content=\"telephone=no\">\n<meta name=\"referrer\" content=\"origin-when-cross-origin\">\n<meta name=\"referrer\" content=\"strict-origin-when-cross-origin\">\n<script nonce=\"1429490152\" reportloaderror>try{document.getElementsByTagName('html').item(0).style.webkitTextSizeAdjust=JSON.parse(window.__wxWebEnv.getEnv()).fontScale+'%'}catch(e){}</script>\n<script type=\"text/javascript\" nonce=\"1429490152\" reportloaderror>\n window.logs = { pagetime: {} };\n window.logs.pagetime['html_begin'] = (+new Date());\n window.LANG = \"en\";\n</script>\n\n \n<script nonce=\"1429490152\" reportloaderror>\nwindow.__moon_initcallback = function () {\n if (!!window.__initCatch) {\n window.__initCatch({\n idkey: 27611 + 2,\n startKey: 0,\n limit: 128,\n badjsId: 43,\n reportOpt: {\n uin: '',\n biz: \"MzI1NTQxMzc3MA==\" || \"\",\n mid: \"2247509537\" || \"\" || \"\",\n idx: \"1\" || \"\" || \"\",\n sn: \"ac26447ad37a4bd1e3b05159a69bd74d\" || \"\" || \"\",\n },\n extInfo: {\n network_rate: 0.01, \n badjs_rate: 0.1\n }\n });\n }\n}\n</script>\n\n <script type=\"text/javascript\" nonce=\"1429490152\" reportloaderror>\n \n \n var WX_BJ_REPORT = window.WX_BJ_REPORT || {};\n (function(_) {\n if (_.BadJs) {\n return;\n }\n \n var BADJS_WIN_ERR = 'BadjsWindowError';\n var extend = function(source, destination) {\n for (var property in destination) {\n source[property] = destination[property]\n }\n return source\n }\n \n _.BadJs = {\n uin: 0,\n mid: \"\",\n view: \"wap\",\n _cache: {},\n _info: {},\n _hookCallback: null,\n ignorePath: true,\n throw: function(e, extData) {\n this.onError(e, extData);\n throw e;\n },\n \n \n onError: function(e, extData) {\n try {\n \n if (e.BADJS_EXCUTED == true) {\n return;\n }\n e.BADJS_EXCUTED = true;\n var data = errToData(e);\n data.uin = this.uin;\n data.mid = this.mid;\n data.view = this.view;\n data.cmdb_module = 'mmbizwap';\n \n if (!!extData) {\n data = extend(data, extData);\n }\n \n if (data.cid) {\n data.key = \"[\" + data.cid + \"]:\" + data.key;\n }\n \n if (data._info) {\n if (Object.prototype.toString.call(data._info) == \"[object Object]\") {\n data.msg += \" || info:\" + JSON.stringify(data._info);\n } else if (Object.prototype.toString.call(data._info) == \"[object String]\") {\n data.msg += \" || info:\" + data._info;\n } else {\n data.msg += \" || info:\" + data._info;\n }\n }\n if (typeof this._hookCallback == \"function\") {\n if (this._hookCallback(data) === false) {\n return\n }\n }\n this._send(data);\n return _.BadJs;\n } catch (e) {\n console.error(e);\n }\n },\n winErr: function(event) {\n if (event.error && event.error.BADJS_EXCUTED) {\n return;\n }\n if (event.type === 'unhandledrejection') {\n if (event.reason instanceof Error) {\n var e = event.reason || {};\n _.BadJs.onError(createError(event.type, e.message || \"\", e.sourceURL || \"\", e.line || \"\", e.column || \"\", event.reason));\n } else {\n var message = typeof event.reason === 'object' ? JSON.stringify(event.reason) : event.reason;\n _.BadJs.onError(createError(event.type, message, \"\", \"\", \"\", event.reason));\n }\n }else{\n _.BadJs.onError(createError(BADJS_WIN_ERR, event.message, event.filename, event.lineno, event.colno, event.error));\n }\n },\n init: function(uin, mid, view) {\n thiLine truncated
"content": "<!DOCTYPE html>\n<html class=\"\n\">\n <head>\n <meta name=\"wechat-enable-text-zoom-em\" content=\"true\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover\">\n<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico\" reportloaderror>\n<link rel=\"mask-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/MjliNWVm.svg\" color=\"#4C4C4C\" reportloaderror>\n<link rel=\"apple-touch-icon-precomposed\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png\" reportloaderror>\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n<meta name=\"format-detection\" content=\"telephone=no\">\n<meta name=\"referrer\" content=\"origin-when-cross-origin\">\n<meta name=\"referrer\" content=\"strict-origin-when-cross-origin\">\n<script nonce=\"1429490152\" reportloaderror>try{document.getElementsByTagName('html').item(0).style.webkitTextSizeAdjust=JSON.parse(window.__wxWebEnv.getEnv()).fontScale+'%'}catch(e){}</script>\n<script type=\"text/javascript\" nonce=\"1429490152\" reportloaderror>\n window.logs = { pagetime: {} };\n window.logs.pagetime['html_begin'] = (+new Date());\n window.LANG = \"en\";\n</script>\n\n \n<script nonce=\"1429490152\" reportloaderror>\nwindow.__moon_initcallback = function () {\n if (!!window.__initCatch) {\n window.__initCatch({\n idkey: 27611 + 2,\n startKey: 0,\n limit: 128,\n badjsId: 43,\n reportOpt: {\n uin: '',\n biz: \"MzI1NTQxMzc3MA==\" || \"\",\n mid: \"2247509537\" || \"\" || \"\",\n idx: \"1\" || \"\" || \"\",\n sn: \"ac26447ad37a4bd1e3b05159a69bd74d\" || \"\" || \"\",\n },\n extInfo: {\n network_rate: 0.01, \n badjs_rate: 0.1\n }\n });\n }\n}\n</script>\n\n <script type=\"text/javascript\" nonce=\"1429490152\" reportloaderror>\n \n \n var WX_BJ_REPORT = window.WX_BJ_REPORT || {};\n (function(_) {\n if (_.BadJs) {\n return;\n }\n \n var BADJS_WIN_ERR = 'BadjsWindowError';\n var extend = function(source, destination) {\n for (var property in destination) {\n source[property] = destination[property]\n }\n return source\n }\n \n _.BadJs = {\n uin: 0,\n mid: \"\",\n view: \"wap\",\n _cache: {},\n _info: {},\n _hookCallback: null,\n ignorePath: true,\n throw: function(e, extData) {\n this.onError(e, extData);\n throw e;\n },\n \n \n onError: function(e, extData) {\n try {\n \n if (e.BADJS_EXCUTED == true) {\n return;\n }\n e.BADJS_EXCUTED = true;\n var data = errToData(e);\n data.uin = this.uin;\n data.mid = this.mid;\n data.view = this.view;\n data.cmdb_module = 'mmbizwap';\n \n if (!!extData) {\n data = extend(data, extData);\n }\n \n if (data.cid) {\n data.key = \"[\" + data.cid + \"]:\" + data.key;\n }\n \n if (data._info) {\n if (Object.prototype.toString.call(data._info) == \"[object Object]\") {\n data.msg += \" || info:\" + JSON.stringify(data._info);\n } else if (Object.prototype.toString.call(data._info) == \"[object String]\") {\n data.msg += \" || info:\" + data._info;\n } else {\n data.msg += \" || info:\" + data._info;\n }\n }\n if (typeof this._hookCallback == \"function\") {\n if (this._hookCallback(data) === false) {\n return\n }\n }\n this._send(data);\n return _.BadJs;\n } catch (e) {\n console.error(e);\n }\n },\n winErr: function(event) {\n if (event.error && event.error.BADJS_EXCUTED) {\n return;\n }\n if (event.type === 'unhandledrejection') {\n if (event.reason instanceof Error) {\n var e = event.reason || {};\n _.BadJs.onError(createError(event.type, e.message || \"\", e.sourceURL || \"\", e.line || \"\", e.column || \"\", event.reason));\n } else {\n var message = typeof event.reason === 'object' ? JSON.stringify(event.reason) : event.reason;\n _.BadJs.onError(createError(event.type, message, \"\", \"\", \"\", event.reason));\n }\n }else{\n _.BadJs.onError(createError(BADJS_WIN_ERR, event.message, event.filename, event.lineno, event.colno, event.error));\n }\n },\n init: function(uin, mid, view) {\n this.uiLine truncated
"category": "",
"link": "https://mp.weixin.qq.com/s/xBkVJ0TIxPerLzM7YMST8Q",
"creator": "",
"pubDate": "2025-07-07T11:00:35.000Z",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "xBkVJ0TIxPerLzM7YMST8Q",
"language": "",
"folder": "IT技术",
"feed": "各种折腾",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "37e8086261b53a64d0e3494743fc98a7",
"highlights": []
},
{
"title": "开源服务运行监控工具Lunalytics",
"description": "<!DOCTYPE html>\n<html class=\"\n\">\n <head>\n <meta name=\"wechat-enable-text-zoom-em\" content=\"true\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover\">\n<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico\" reportloaderror>\n<link rel=\"mask-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/MjliNWVm.svg\" color=\"#4C4C4C\" reportloaderror>\n<link rel=\"apple-touch-icon-precomposed\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png\" reportloaderror>\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n<meta name=\"format-detection\" content=\"telephone=no\">\n<meta name=\"referrer\" content=\"origin-when-cross-origin\">\n<meta name=\"referrer\" content=\"strict-origin-when-cross-origin\">\n<script nonce=\"862652209\" reportloaderror>try{document.getElementsByTagName('html').item(0).style.webkitTextSizeAdjust=JSON.parse(window.__wxWebEnv.getEnv()).fontScale+'%'}catch(e){}</script>\n<script type=\"text/javascript\" nonce=\"862652209\" reportloaderror>\n window.logs = { pagetime: {} };\n window.logs.pagetime['html_begin'] = (+new Date());\n window.LANG = \"en\";\n</script>\n\n \n<script nonce=\"862652209\" reportloaderror>\nwindow.__moon_initcallback = function () {\n if (!!window.__initCatch) {\n window.__initCatch({\n idkey: 27611 + 2,\n startKey: 0,\n limit: 128,\n badjsId: 43,\n reportOpt: {\n uin: '',\n biz: \"MzI1NTQxMzc3MA==\" || \"\",\n mid: \"2247509514\" || \"\" || \"\",\n idx: \"1\" || \"\" || \"\",\n sn: \"e7ec6a4073404fe8edfc53f3fe950552\" || \"\" || \"\",\n },\n extInfo: {\n network_rate: 0.01, \n badjs_rate: 0.1\n }\n });\n }\n}\n</script>\n\n <script type=\"text/javascript\" nonce=\"862652209\" reportloaderror>\n \n \n var WX_BJ_REPORT = window.WX_BJ_REPORT || {};\n (function(_) {\n if (_.BadJs) {\n return;\n }\n \n var BADJS_WIN_ERR = 'BadjsWindowError';\n var extend = function(source, destination) {\n for (var property in destination) {\n source[property] = destination[property]\n }\n return source\n }\n \n _.BadJs = {\n uin: 0,\n mid: \"\",\n view: \"wap\",\n _cache: {},\n _info: {},\n _hookCallback: null,\n ignorePath: true,\n throw: function(e, extData) {\n this.onError(e, extData);\n throw e;\n },\n \n \n onError: function(e, extData) {\n try {\n \n if (e.BADJS_EXCUTED == true) {\n return;\n }\n e.BADJS_EXCUTED = true;\n var data = errToData(e);\n data.uin = this.uin;\n data.mid = this.mid;\n data.view = this.view;\n data.cmdb_module = 'mmbizwap';\n \n if (!!extData) {\n data = extend(data, extData);\n }\n \n if (data.cid) {\n data.key = \"[\" + data.cid + \"]:\" + data.key;\n }\n \n if (data._info) {\n if (Object.prototype.toString.call(data._info) == \"[object Object]\") {\n data.msg += \" || info:\" + JSON.stringify(data._info);\n } else if (Object.prototype.toString.call(data._info) == \"[object String]\") {\n data.msg += \" || info:\" + data._info;\n } else {\n data.msg += \" || info:\" + data._info;\n }\n }\n if (typeof this._hookCallback == \"function\") {\n if (this._hookCallback(data) === false) {\n return\n }\n }\n this._send(data);\n return _.BadJs;\n } catch (e) {\n console.error(e);\n }\n },\n winErr: function(event) {\n if (event.error && event.error.BADJS_EXCUTED) {\n return;\n }\n if (event.type === 'unhandledrejection') {\n if (event.reason instanceof Error) {\n var e = event.reason || {};\n _.BadJs.onError(createError(event.type, e.message || \"\", e.sourceURL || \"\", e.line || \"\", e.column || \"\", event.reason));\n } else {\n var message = typeof event.reason === 'object' ? JSON.stringify(event.reason) : event.reason;\n _.BadJs.onError(createError(event.type, message, \"\", \"\", \"\", event.reason));\n }\n }else{\n _.BadJs.onError(createError(BADJS_WIN_ERR, event.message, event.filename, event.lineno, event.colno, event.error));\n }\n },\n init: function(uin, mid, view) {\n this.uiLine truncated
"content": "<!DOCTYPE html>\n<html class=\"\n\">\n <head>\n <meta name=\"wechat-enable-text-zoom-em\" content=\"true\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover\">\n<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico\" reportloaderror>\n<link rel=\"mask-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/MjliNWVm.svg\" color=\"#4C4C4C\" reportloaderror>\n<link rel=\"apple-touch-icon-precomposed\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png\" reportloaderror>\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n<meta name=\"format-detection\" content=\"telephone=no\">\n<meta name=\"referrer\" content=\"origin-when-cross-origin\">\n<meta name=\"referrer\" content=\"strict-origin-when-cross-origin\">\n<script nonce=\"862652209\" reportloaderror>try{document.getElementsByTagName('html').item(0).style.webkitTextSizeAdjust=JSON.parse(window.__wxWebEnv.getEnv()).fontScale+'%'}catch(e){}</script>\n<script type=\"text/javascript\" nonce=\"862652209\" reportloaderror>\n window.logs = { pagetime: {} };\n window.logs.pagetime['html_begin'] = (+new Date());\n window.LANG = \"en\";\n</script>\n\n \n<script nonce=\"862652209\" reportloaderror>\nwindow.__moon_initcallback = function () {\n if (!!window.__initCatch) {\n window.__initCatch({\n idkey: 27611 + 2,\n startKey: 0,\n limit: 128,\n badjsId: 43,\n reportOpt: {\n uin: '',\n biz: \"MzI1NTQxMzc3MA==\" || \"\",\n mid: \"2247509514\" || \"\" || \"\",\n idx: \"1\" || \"\" || \"\",\n sn: \"e7ec6a4073404fe8edfc53f3fe950552\" || \"\" || \"\",\n },\n extInfo: {\n network_rate: 0.01, \n badjs_rate: 0.1\n }\n });\n }\n}\n</script>\n\n <script type=\"text/javascript\" nonce=\"862652209\" reportloaderror>\n \n \n var WX_BJ_REPORT = window.WX_BJ_REPORT || {};\n (function(_) {\n if (_.BadJs) {\n return;\n }\n \n var BADJS_WIN_ERR = 'BadjsWindowError';\n var extend = function(source, destination) {\n for (var property in destination) {\n source[property] = destination[property]\n }\n return source\n }\n \n _.BadJs = {\n uin: 0,\n mid: \"\",\n view: \"wap\",\n _cache: {},\n _info: {},\n _hookCallback: null,\n ignorePath: true,\n throw: function(e, extData) {\n this.onError(e, extData);\n throw e;\n },\n \n \n onError: function(e, extData) {\n try {\n \n if (e.BADJS_EXCUTED == true) {\n return;\n }\n e.BADJS_EXCUTED = true;\n var data = errToData(e);\n data.uin = this.uin;\n data.mid = this.mid;\n data.view = this.view;\n data.cmdb_module = 'mmbizwap';\n \n if (!!extData) {\n data = extend(data, extData);\n }\n \n if (data.cid) {\n data.key = \"[\" + data.cid + \"]:\" + data.key;\n }\n \n if (data._info) {\n if (Object.prototype.toString.call(data._info) == \"[object Object]\") {\n data.msg += \" || info:\" + JSON.stringify(data._info);\n } else if (Object.prototype.toString.call(data._info) == \"[object String]\") {\n data.msg += \" || info:\" + data._info;\n } else {\n data.msg += \" || info:\" + data._info;\n }\n }\n if (typeof this._hookCallback == \"function\") {\n if (this._hookCallback(data) === false) {\n return\n }\n }\n this._send(data);\n return _.BadJs;\n } catch (e) {\n console.error(e);\n }\n },\n winErr: function(event) {\n if (event.error && event.error.BADJS_EXCUTED) {\n return;\n }\n if (event.type === 'unhandledrejection') {\n if (event.reason instanceof Error) {\n var e = event.reason || {};\n _.BadJs.onError(createError(event.type, e.message || \"\", e.sourceURL || \"\", e.line || \"\", e.column || \"\", event.reason));\n } else {\n var message = typeof event.reason === 'object' ? JSON.stringify(event.reason) : event.reason;\n _.BadJs.onError(createError(event.type, message, \"\", \"\", \"\", event.reason));\n }\n }else{\n _.BadJs.onError(createError(BADJS_WIN_ERR, event.message, event.filename, event.lineno, event.colno, event.error));\n }\n },\n init: function(uin, mid, view) {\n this.uin = Line truncated
"category": "",
"link": "https://mp.weixin.qq.com/s/RbOSWZiiOtlHv2VuA1tiLg",
"creator": "",
"pubDate": "2025-07-05T11:00:18.000Z",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "RbOSWZiiOtlHv2VuA1tiLg",
"language": "",
"folder": "IT技术",
"feed": "各种折腾",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "f0df0be64f51d343c75d6699734cd798",
"highlights": []
},
{
"title": "Docker端口映射查看工具Dockpeek",
"description": "<!DOCTYPE html>\n<html class=\"\n\">\n <head>\n <meta name=\"wechat-enable-text-zoom-em\" content=\"true\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover\">\n<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico\" reportloaderror>\n<link rel=\"mask-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/MjliNWVm.svg\" color=\"#4C4C4C\" reportloaderror>\n<link rel=\"apple-touch-icon-precomposed\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png\" reportloaderror>\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n<meta name=\"format-detection\" content=\"telephone=no\">\n<meta name=\"referrer\" content=\"origin-when-cross-origin\">\n<meta name=\"referrer\" content=\"strict-origin-when-cross-origin\">\n<script nonce=\"390701321\" reportloaderror>try{document.getElementsByTagName('html').item(0).style.webkitTextSizeAdjust=JSON.parse(window.__wxWebEnv.getEnv()).fontScale+'%'}catch(e){}</script>\n<script type=\"text/javascript\" nonce=\"390701321\" reportloaderror>\n window.logs = { pagetime: {} };\n window.logs.pagetime['html_begin'] = (+new Date());\n window.LANG = \"en\";\n</script>\n\n \n<script nonce=\"390701321\" reportloaderror>\nwindow.__moon_initcallback = function () {\n if (!!window.__initCatch) {\n window.__initCatch({\n idkey: 27611 + 2,\n startKey: 0,\n limit: 128,\n badjsId: 43,\n reportOpt: {\n uin: '',\n biz: \"MzI1NTQxMzc3MA==\" || \"\",\n mid: \"2247509487\" || \"\" || \"\",\n idx: \"1\" || \"\" || \"\",\n sn: \"7aa81ad8b99aedb2de323aac72a57e1e\" || \"\" || \"\",\n },\n extInfo: {\n network_rate: 0.01, \n badjs_rate: 0.1\n }\n });\n }\n}\n</script>\n\n <script type=\"text/javascript\" nonce=\"390701321\" reportloaderror>\n \n \n var WX_BJ_REPORT = window.WX_BJ_REPORT || {};\n (function(_) {\n if (_.BadJs) {\n return;\n }\n \n var BADJS_WIN_ERR = 'BadjsWindowError';\n var extend = function(source, destination) {\n for (var property in destination) {\n source[property] = destination[property]\n }\n return source\n }\n \n _.BadJs = {\n uin: 0,\n mid: \"\",\n view: \"wap\",\n _cache: {},\n _info: {},\n _hookCallback: null,\n ignorePath: true,\n throw: function(e, extData) {\n this.onError(e, extData);\n throw e;\n },\n \n \n onError: function(e, extData) {\n try {\n \n if (e.BADJS_EXCUTED == true) {\n return;\n }\n e.BADJS_EXCUTED = true;\n var data = errToData(e);\n data.uin = this.uin;\n data.mid = this.mid;\n data.view = this.view;\n data.cmdb_module = 'mmbizwap';\n \n if (!!extData) {\n data = extend(data, extData);\n }\n \n if (data.cid) {\n data.key = \"[\" + data.cid + \"]:\" + data.key;\n }\n \n if (data._info) {\n if (Object.prototype.toString.call(data._info) == \"[object Object]\") {\n data.msg += \" || info:\" + JSON.stringify(data._info);\n } else if (Object.prototype.toString.call(data._info) == \"[object String]\") {\n data.msg += \" || info:\" + data._info;\n } else {\n data.msg += \" || info:\" + data._info;\n }\n }\n if (typeof this._hookCallback == \"function\") {\n if (this._hookCallback(data) === false) {\n return\n }\n }\n this._send(data);\n return _.BadJs;\n } catch (e) {\n console.error(e);\n }\n },\n winErr: function(event) {\n if (event.error && event.error.BADJS_EXCUTED) {\n return;\n }\n if (event.type === 'unhandledrejection') {\n if (event.reason instanceof Error) {\n var e = event.reason || {};\n _.BadJs.onError(createError(event.type, e.message || \"\", e.sourceURL || \"\", e.line || \"\", e.column || \"\", event.reason));\n } else {\n var message = typeof event.reason === 'object' ? JSON.stringify(event.reason) : event.reason;\n _.BadJs.onError(createError(event.type, message, \"\", \"\", \"\", event.reason));\n }\n }else{\n _.BadJs.onError(createError(BADJS_WIN_ERR, event.message, event.filename, event.lineno, event.colno, event.error));\n }\n },\n init: function(uin, mid, view) {\n this.uiLine truncated
"content": "<!DOCTYPE html>\n<html class=\"\n\">\n <head>\n <meta name=\"wechat-enable-text-zoom-em\" content=\"true\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover\">\n<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico\" reportloaderror>\n<link rel=\"mask-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/MjliNWVm.svg\" color=\"#4C4C4C\" reportloaderror>\n<link rel=\"apple-touch-icon-precomposed\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png\" reportloaderror>\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n<meta name=\"format-detection\" content=\"telephone=no\">\n<meta name=\"referrer\" content=\"origin-when-cross-origin\">\n<meta name=\"referrer\" content=\"strict-origin-when-cross-origin\">\n<script nonce=\"390701321\" reportloaderror>try{document.getElementsByTagName('html').item(0).style.webkitTextSizeAdjust=JSON.parse(window.__wxWebEnv.getEnv()).fontScale+'%'}catch(e){}</script>\n<script type=\"text/javascript\" nonce=\"390701321\" reportloaderror>\n window.logs = { pagetime: {} };\n window.logs.pagetime['html_begin'] = (+new Date());\n window.LANG = \"en\";\n</script>\n\n \n<script nonce=\"390701321\" reportloaderror>\nwindow.__moon_initcallback = function () {\n if (!!window.__initCatch) {\n window.__initCatch({\n idkey: 27611 + 2,\n startKey: 0,\n limit: 128,\n badjsId: 43,\n reportOpt: {\n uin: '',\n biz: \"MzI1NTQxMzc3MA==\" || \"\",\n mid: \"2247509487\" || \"\" || \"\",\n idx: \"1\" || \"\" || \"\",\n sn: \"7aa81ad8b99aedb2de323aac72a57e1e\" || \"\" || \"\",\n },\n extInfo: {\n network_rate: 0.01, \n badjs_rate: 0.1\n }\n });\n }\n}\n</script>\n\n <script type=\"text/javascript\" nonce=\"390701321\" reportloaderror>\n \n \n var WX_BJ_REPORT = window.WX_BJ_REPORT || {};\n (function(_) {\n if (_.BadJs) {\n return;\n }\n \n var BADJS_WIN_ERR = 'BadjsWindowError';\n var extend = function(source, destination) {\n for (var property in destination) {\n source[property] = destination[property]\n }\n return source\n }\n \n _.BadJs = {\n uin: 0,\n mid: \"\",\n view: \"wap\",\n _cache: {},\n _info: {},\n _hookCallback: null,\n ignorePath: true,\n throw: function(e, extData) {\n this.onError(e, extData);\n throw e;\n },\n \n \n onError: function(e, extData) {\n try {\n \n if (e.BADJS_EXCUTED == true) {\n return;\n }\n e.BADJS_EXCUTED = true;\n var data = errToData(e);\n data.uin = this.uin;\n data.mid = this.mid;\n data.view = this.view;\n data.cmdb_module = 'mmbizwap';\n \n if (!!extData) {\n data = extend(data, extData);\n }\n \n if (data.cid) {\n data.key = \"[\" + data.cid + \"]:\" + data.key;\n }\n \n if (data._info) {\n if (Object.prototype.toString.call(data._info) == \"[object Object]\") {\n data.msg += \" || info:\" + JSON.stringify(data._info);\n } else if (Object.prototype.toString.call(data._info) == \"[object String]\") {\n data.msg += \" || info:\" + data._info;\n } else {\n data.msg += \" || info:\" + data._info;\n }\n }\n if (typeof this._hookCallback == \"function\") {\n if (this._hookCallback(data) === false) {\n return\n }\n }\n this._send(data);\n return _.BadJs;\n } catch (e) {\n console.error(e);\n }\n },\n winErr: function(event) {\n if (event.error && event.error.BADJS_EXCUTED) {\n return;\n }\n if (event.type === 'unhandledrejection') {\n if (event.reason instanceof Error) {\n var e = event.reason || {};\n _.BadJs.onError(createError(event.type, e.message || \"\", e.sourceURL || \"\", e.line || \"\", e.column || \"\", event.reason));\n } else {\n var message = typeof event.reason === 'object' ? JSON.stringify(event.reason) : event.reason;\n _.BadJs.onError(createError(event.type, message, \"\", \"\", \"\", event.reason));\n }\n }else{\n _.BadJs.onError(createError(BADJS_WIN_ERR, event.message, event.filename, event.lineno, event.colno, event.error));\n }\n },\n init: function(uin, mid, view) {\n this.uin = Line truncated
"category": "",
"link": "https://mp.weixin.qq.com/s/PTjw74p0qW9rxiOytEWBXw",
"creator": "",
"pubDate": "2025-07-04T11:00:39.000Z",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "PTjw74p0qW9rxiOytEWBXw",
"language": "",
"folder": "IT技术",
"feed": "各种折腾",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "c8f37ade75a11813df0bcb7cf0bdd61a",
"highlights": []
},
{
"title": "股票分析MCP服务stock-scanner-mcp",
"description": "<!DOCTYPE html>\n<html class=\"\n\">\n <head>\n <meta name=\"wechat-enable-text-zoom-em\" content=\"true\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover\">\n<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico\" reportloaderror>\n<link rel=\"mask-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/MjliNWVm.svg\" color=\"#4C4C4C\" reportloaderror>\n<link rel=\"apple-touch-icon-precomposed\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png\" reportloaderror>\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n<meta name=\"format-detection\" content=\"telephone=no\">\n<meta name=\"referrer\" content=\"origin-when-cross-origin\">\n<meta name=\"referrer\" content=\"strict-origin-when-cross-origin\">\n<script nonce=\"1403574925\" reportloaderror>try{document.getElementsByTagName('html').item(0).style.webkitTextSizeAdjust=JSON.parse(window.__wxWebEnv.getEnv()).fontScale+'%'}catch(e){}</script>\n<script type=\"text/javascript\" nonce=\"1403574925\" reportloaderror>\n window.logs = { pagetime: {} };\n window.logs.pagetime['html_begin'] = (+new Date());\n window.LANG = \"en\";\n</script>\n\n \n<script nonce=\"1403574925\" reportloaderror>\nwindow.__moon_initcallback = function () {\n if (!!window.__initCatch) {\n window.__initCatch({\n idkey: 27611 + 2,\n startKey: 0,\n limit: 128,\n badjsId: 43,\n reportOpt: {\n uin: '',\n biz: \"MzI1NTQxMzc3MA==\" || \"\",\n mid: \"2247509467\" || \"\" || \"\",\n idx: \"1\" || \"\" || \"\",\n sn: \"56ae3ddf7430cdf0d0bd13247a5b396a\" || \"\" || \"\",\n },\n extInfo: {\n network_rate: 0.01, \n badjs_rate: 0.1\n }\n });\n }\n}\n</script>\n\n <script type=\"text/javascript\" nonce=\"1403574925\" reportloaderror>\n \n \n var WX_BJ_REPORT = window.WX_BJ_REPORT || {};\n (function(_) {\n if (_.BadJs) {\n return;\n }\n \n var BADJS_WIN_ERR = 'BadjsWindowError';\n var extend = function(source, destination) {\n for (var property in destination) {\n source[property] = destination[property]\n }\n return source\n }\n \n _.BadJs = {\n uin: 0,\n mid: \"\",\n view: \"wap\",\n _cache: {},\n _info: {},\n _hookCallback: null,\n ignorePath: true,\n throw: function(e, extData) {\n this.onError(e, extData);\n throw e;\n },\n \n \n onError: function(e, extData) {\n try {\n \n if (e.BADJS_EXCUTED == true) {\n return;\n }\n e.BADJS_EXCUTED = true;\n var data = errToData(e);\n data.uin = this.uin;\n data.mid = this.mid;\n data.view = this.view;\n data.cmdb_module = 'mmbizwap';\n \n if (!!extData) {\n data = extend(data, extData);\n }\n \n if (data.cid) {\n data.key = \"[\" + data.cid + \"]:\" + data.key;\n }\n \n if (data._info) {\n if (Object.prototype.toString.call(data._info) == \"[object Object]\") {\n data.msg += \" || info:\" + JSON.stringify(data._info);\n } else if (Object.prototype.toString.call(data._info) == \"[object String]\") {\n data.msg += \" || info:\" + data._info;\n } else {\n data.msg += \" || info:\" + data._info;\n }\n }\n if (typeof this._hookCallback == \"function\") {\n if (this._hookCallback(data) === false) {\n return\n }\n }\n this._send(data);\n return _.BadJs;\n } catch (e) {\n console.error(e);\n }\n },\n winErr: function(event) {\n if (event.error && event.error.BADJS_EXCUTED) {\n return;\n }\n if (event.type === 'unhandledrejection') {\n if (event.reason instanceof Error) {\n var e = event.reason || {};\n _.BadJs.onError(createError(event.type, e.message || \"\", e.sourceURL || \"\", e.line || \"\", e.column || \"\", event.reason));\n } else {\n var message = typeof event.reason === 'object' ? JSON.stringify(event.reason) : event.reason;\n _.BadJs.onError(createError(event.type, message, \"\", \"\", \"\", event.reason));\n }\n }else{\n _.BadJs.onError(createError(BADJS_WIN_ERR, event.message, event.filename, event.lineno, event.colno, event.error));\n }\n },\n init: function(uin, mid, view) {\n thiLine truncated
"content": "<!DOCTYPE html>\n<html class=\"\n\">\n <head>\n <meta name=\"wechat-enable-text-zoom-em\" content=\"true\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover\">\n<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico\" reportloaderror>\n<link rel=\"mask-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/MjliNWVm.svg\" color=\"#4C4C4C\" reportloaderror>\n<link rel=\"apple-touch-icon-precomposed\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png\" reportloaderror>\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n<meta name=\"format-detection\" content=\"telephone=no\">\n<meta name=\"referrer\" content=\"origin-when-cross-origin\">\n<meta name=\"referrer\" content=\"strict-origin-when-cross-origin\">\n<script nonce=\"1403574925\" reportloaderror>try{document.getElementsByTagName('html').item(0).style.webkitTextSizeAdjust=JSON.parse(window.__wxWebEnv.getEnv()).fontScale+'%'}catch(e){}</script>\n<script type=\"text/javascript\" nonce=\"1403574925\" reportloaderror>\n window.logs = { pagetime: {} };\n window.logs.pagetime['html_begin'] = (+new Date());\n window.LANG = \"en\";\n</script>\n\n \n<script nonce=\"1403574925\" reportloaderror>\nwindow.__moon_initcallback = function () {\n if (!!window.__initCatch) {\n window.__initCatch({\n idkey: 27611 + 2,\n startKey: 0,\n limit: 128,\n badjsId: 43,\n reportOpt: {\n uin: '',\n biz: \"MzI1NTQxMzc3MA==\" || \"\",\n mid: \"2247509467\" || \"\" || \"\",\n idx: \"1\" || \"\" || \"\",\n sn: \"56ae3ddf7430cdf0d0bd13247a5b396a\" || \"\" || \"\",\n },\n extInfo: {\n network_rate: 0.01, \n badjs_rate: 0.1\n }\n });\n }\n}\n</script>\n\n <script type=\"text/javascript\" nonce=\"1403574925\" reportloaderror>\n \n \n var WX_BJ_REPORT = window.WX_BJ_REPORT || {};\n (function(_) {\n if (_.BadJs) {\n return;\n }\n \n var BADJS_WIN_ERR = 'BadjsWindowError';\n var extend = function(source, destination) {\n for (var property in destination) {\n source[property] = destination[property]\n }\n return source\n }\n \n _.BadJs = {\n uin: 0,\n mid: \"\",\n view: \"wap\",\n _cache: {},\n _info: {},\n _hookCallback: null,\n ignorePath: true,\n throw: function(e, extData) {\n this.onError(e, extData);\n throw e;\n },\n \n \n onError: function(e, extData) {\n try {\n \n if (e.BADJS_EXCUTED == true) {\n return;\n }\n e.BADJS_EXCUTED = true;\n var data = errToData(e);\n data.uin = this.uin;\n data.mid = this.mid;\n data.view = this.view;\n data.cmdb_module = 'mmbizwap';\n \n if (!!extData) {\n data = extend(data, extData);\n }\n \n if (data.cid) {\n data.key = \"[\" + data.cid + \"]:\" + data.key;\n }\n \n if (data._info) {\n if (Object.prototype.toString.call(data._info) == \"[object Object]\") {\n data.msg += \" || info:\" + JSON.stringify(data._info);\n } else if (Object.prototype.toString.call(data._info) == \"[object String]\") {\n data.msg += \" || info:\" + data._info;\n } else {\n data.msg += \" || info:\" + data._info;\n }\n }\n if (typeof this._hookCallback == \"function\") {\n if (this._hookCallback(data) === false) {\n return\n }\n }\n this._send(data);\n return _.BadJs;\n } catch (e) {\n console.error(e);\n }\n },\n winErr: function(event) {\n if (event.error && event.error.BADJS_EXCUTED) {\n return;\n }\n if (event.type === 'unhandledrejection') {\n if (event.reason instanceof Error) {\n var e = event.reason || {};\n _.BadJs.onError(createError(event.type, e.message || \"\", e.sourceURL || \"\", e.line || \"\", e.column || \"\", event.reason));\n } else {\n var message = typeof event.reason === 'object' ? JSON.stringify(event.reason) : event.reason;\n _.BadJs.onError(createError(event.type, message, \"\", \"\", \"\", event.reason));\n }\n }else{\n _.BadJs.onError(createError(BADJS_WIN_ERR, event.message, event.filename, event.lineno, event.colno, event.error));\n }\n },\n init: function(uin, mid, view) {\n this.uiLine truncated
"category": "",
"link": "https://mp.weixin.qq.com/s/x60X3th9Doqm891_sUia1A",
"creator": "",
"pubDate": "2025-07-02T11:02:08.000Z",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "x60X3th9Doqm891_sUia1A",
"language": "",
"folder": "IT技术",
"feed": "各种折腾",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "420210f81c94b8766190b7b62de88c66",
"highlights": []
},
{
"title": "极易搭建的自助Git服务Gogs",
"description": "<!DOCTYPE html>\n<html class=\"\n\">\n <head>\n <meta name=\"wechat-enable-text-zoom-em\" content=\"true\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover\">\n<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico\" reportloaderror>\n<link rel=\"mask-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/MjliNWVm.svg\" color=\"#4C4C4C\" reportloaderror>\n<link rel=\"apple-touch-icon-precomposed\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png\" reportloaderror>\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n<meta name=\"format-detection\" content=\"telephone=no\">\n<meta name=\"referrer\" content=\"origin-when-cross-origin\">\n<meta name=\"referrer\" content=\"strict-origin-when-cross-origin\">\n<script nonce=\"1458286864\" reportloaderror>try{document.getElementsByTagName('html').item(0).style.webkitTextSizeAdjust=JSON.parse(window.__wxWebEnv.getEnv()).fontScale+'%'}catch(e){}</script>\n<script type=\"text/javascript\" nonce=\"1458286864\" reportloaderror>\n window.logs = { pagetime: {} };\n window.logs.pagetime['html_begin'] = (+new Date());\n window.LANG = \"en\";\n</script>\n\n \n<script nonce=\"1458286864\" reportloaderror>\nwindow.__moon_initcallback = function () {\n if (!!window.__initCatch) {\n window.__initCatch({\n idkey: 27611 + 2,\n startKey: 0,\n limit: 128,\n badjsId: 43,\n reportOpt: {\n uin: '',\n biz: \"MzI1NTQxMzc3MA==\" || \"\",\n mid: \"2247509428\" || \"\" || \"\",\n idx: \"1\" || \"\" || \"\",\n sn: \"2f03e36fd2471c3ae2ca24971faca36e\" || \"\" || \"\",\n },\n extInfo: {\n network_rate: 0.01, \n badjs_rate: 0.1\n }\n });\n }\n}\n</script>\n\n <script type=\"text/javascript\" nonce=\"1458286864\" reportloaderror>\n \n \n var WX_BJ_REPORT = window.WX_BJ_REPORT || {};\n (function(_) {\n if (_.BadJs) {\n return;\n }\n \n var BADJS_WIN_ERR = 'BadjsWindowError';\n var extend = function(source, destination) {\n for (var property in destination) {\n source[property] = destination[property]\n }\n return source\n }\n \n _.BadJs = {\n uin: 0,\n mid: \"\",\n view: \"wap\",\n _cache: {},\n _info: {},\n _hookCallback: null,\n ignorePath: true,\n throw: function(e, extData) {\n this.onError(e, extData);\n throw e;\n },\n \n \n onError: function(e, extData) {\n try {\n \n if (e.BADJS_EXCUTED == true) {\n return;\n }\n e.BADJS_EXCUTED = true;\n var data = errToData(e);\n data.uin = this.uin;\n data.mid = this.mid;\n data.view = this.view;\n data.cmdb_module = 'mmbizwap';\n \n if (!!extData) {\n data = extend(data, extData);\n }\n \n if (data.cid) {\n data.key = \"[\" + data.cid + \"]:\" + data.key;\n }\n \n if (data._info) {\n if (Object.prototype.toString.call(data._info) == \"[object Object]\") {\n data.msg += \" || info:\" + JSON.stringify(data._info);\n } else if (Object.prototype.toString.call(data._info) == \"[object String]\") {\n data.msg += \" || info:\" + data._info;\n } else {\n data.msg += \" || info:\" + data._info;\n }\n }\n if (typeof this._hookCallback == \"function\") {\n if (this._hookCallback(data) === false) {\n return\n }\n }\n this._send(data);\n return _.BadJs;\n } catch (e) {\n console.error(e);\n }\n },\n winErr: function(event) {\n if (event.error && event.error.BADJS_EXCUTED) {\n return;\n }\n if (event.type === 'unhandledrejection') {\n if (event.reason instanceof Error) {\n var e = event.reason || {};\n _.BadJs.onError(createError(event.type, e.message || \"\", e.sourceURL || \"\", e.line || \"\", e.column || \"\", event.reason));\n } else {\n var message = typeof event.reason === 'object' ? JSON.stringify(event.reason) : event.reason;\n _.BadJs.onError(createError(event.type, message, \"\", \"\", \"\", event.reason));\n }\n }else{\n _.BadJs.onError(createError(BADJS_WIN_ERR, event.message, event.filename, event.lineno, event.colno, event.error));\n }\n },\n init: function(uin, mid, view) {\n thiLine truncated
"content": "<!DOCTYPE html>\n<html class=\"\n\">\n <head>\n <meta name=\"wechat-enable-text-zoom-em\" content=\"true\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover\">\n<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico\" reportloaderror>\n<link rel=\"mask-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/MjliNWVm.svg\" color=\"#4C4C4C\" reportloaderror>\n<link rel=\"apple-touch-icon-precomposed\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png\" reportloaderror>\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n<meta name=\"format-detection\" content=\"telephone=no\">\n<meta name=\"referrer\" content=\"origin-when-cross-origin\">\n<meta name=\"referrer\" content=\"strict-origin-when-cross-origin\">\n<script nonce=\"1458286864\" reportloaderror>try{document.getElementsByTagName('html').item(0).style.webkitTextSizeAdjust=JSON.parse(window.__wxWebEnv.getEnv()).fontScale+'%'}catch(e){}</script>\n<script type=\"text/javascript\" nonce=\"1458286864\" reportloaderror>\n window.logs = { pagetime: {} };\n window.logs.pagetime['html_begin'] = (+new Date());\n window.LANG = \"en\";\n</script>\n\n \n<script nonce=\"1458286864\" reportloaderror>\nwindow.__moon_initcallback = function () {\n if (!!window.__initCatch) {\n window.__initCatch({\n idkey: 27611 + 2,\n startKey: 0,\n limit: 128,\n badjsId: 43,\n reportOpt: {\n uin: '',\n biz: \"MzI1NTQxMzc3MA==\" || \"\",\n mid: \"2247509428\" || \"\" || \"\",\n idx: \"1\" || \"\" || \"\",\n sn: \"2f03e36fd2471c3ae2ca24971faca36e\" || \"\" || \"\",\n },\n extInfo: {\n network_rate: 0.01, \n badjs_rate: 0.1\n }\n });\n }\n}\n</script>\n\n <script type=\"text/javascript\" nonce=\"1458286864\" reportloaderror>\n \n \n var WX_BJ_REPORT = window.WX_BJ_REPORT || {};\n (function(_) {\n if (_.BadJs) {\n return;\n }\n \n var BADJS_WIN_ERR = 'BadjsWindowError';\n var extend = function(source, destination) {\n for (var property in destination) {\n source[property] = destination[property]\n }\n return source\n }\n \n _.BadJs = {\n uin: 0,\n mid: \"\",\n view: \"wap\",\n _cache: {},\n _info: {},\n _hookCallback: null,\n ignorePath: true,\n throw: function(e, extData) {\n this.onError(e, extData);\n throw e;\n },\n \n \n onError: function(e, extData) {\n try {\n \n if (e.BADJS_EXCUTED == true) {\n return;\n }\n e.BADJS_EXCUTED = true;\n var data = errToData(e);\n data.uin = this.uin;\n data.mid = this.mid;\n data.view = this.view;\n data.cmdb_module = 'mmbizwap';\n \n if (!!extData) {\n data = extend(data, extData);\n }\n \n if (data.cid) {\n data.key = \"[\" + data.cid + \"]:\" + data.key;\n }\n \n if (data._info) {\n if (Object.prototype.toString.call(data._info) == \"[object Object]\") {\n data.msg += \" || info:\" + JSON.stringify(data._info);\n } else if (Object.prototype.toString.call(data._info) == \"[object String]\") {\n data.msg += \" || info:\" + data._info;\n } else {\n data.msg += \" || info:\" + data._info;\n }\n }\n if (typeof this._hookCallback == \"function\") {\n if (this._hookCallback(data) === false) {\n return\n }\n }\n this._send(data);\n return _.BadJs;\n } catch (e) {\n console.error(e);\n }\n },\n winErr: function(event) {\n if (event.error && event.error.BADJS_EXCUTED) {\n return;\n }\n if (event.type === 'unhandledrejection') {\n if (event.reason instanceof Error) {\n var e = event.reason || {};\n _.BadJs.onError(createError(event.type, e.message || \"\", e.sourceURL || \"\", e.line || \"\", e.column || \"\", event.reason));\n } else {\n var message = typeof event.reason === 'object' ? JSON.stringify(event.reason) : event.reason;\n _.BadJs.onError(createError(event.type, message, \"\", \"\", \"\", event.reason));\n }\n }else{\n _.BadJs.onError(createError(BADJS_WIN_ERR, event.message, event.filename, event.lineno, event.colno, event.error));\n }\n },\n init: function(uin, mid, view) {\n this.uiLine truncated
"category": "",
"link": "https://mp.weixin.qq.com/s/eL0FL7l0NuILUZZB6EEyug",
"creator": "",
"pubDate": "2025-06-30T11:01:20.000Z",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "eL0FL7l0NuILUZZB6EEyug",
"language": "",
"folder": "IT技术",
"feed": "各种折腾",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "b54132b0681affd72262bc6384d424bf",
"highlights": []
},
{
"title": "先进的视频监控应用iSpy Agent DVR",
"description": "<!DOCTYPE html>\n<html class=\"\n\">\n <head>\n <meta name=\"wechat-enable-text-zoom-em\" content=\"true\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover\">\n<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico\" reportloaderror>\n<link rel=\"mask-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/MjliNWVm.svg\" color=\"#4C4C4C\" reportloaderror>\n<link rel=\"apple-touch-icon-precomposed\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png\" reportloaderror>\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n<meta name=\"format-detection\" content=\"telephone=no\">\n<meta name=\"referrer\" content=\"origin-when-cross-origin\">\n<meta name=\"referrer\" content=\"strict-origin-when-cross-origin\">\n<script nonce=\"1386365927\" reportloaderror>try{document.getElementsByTagName('html').item(0).style.webkitTextSizeAdjust=JSON.parse(window.__wxWebEnv.getEnv()).fontScale+'%'}catch(e){}</script>\n<script type=\"text/javascript\" nonce=\"1386365927\" reportloaderror>\n window.logs = { pagetime: {} };\n window.logs.pagetime['html_begin'] = (+new Date());\n window.LANG = \"en\";\n</script>\n\n \n<script nonce=\"1386365927\" reportloaderror>\nwindow.__moon_initcallback = function () {\n if (!!window.__initCatch) {\n window.__initCatch({\n idkey: 27611 + 2,\n startKey: 0,\n limit: 128,\n badjsId: 43,\n reportOpt: {\n uin: '',\n biz: \"MzI1NTQxMzc3MA==\" || \"\",\n mid: \"2247509385\" || \"\" || \"\",\n idx: \"1\" || \"\" || \"\",\n sn: \"cfd46cae2082abcb4080af456d30aa53\" || \"\" || \"\",\n },\n extInfo: {\n network_rate: 0.01, \n badjs_rate: 0.1\n }\n });\n }\n}\n</script>\n\n <script type=\"text/javascript\" nonce=\"1386365927\" reportloaderror>\n \n \n var WX_BJ_REPORT = window.WX_BJ_REPORT || {};\n (function(_) {\n if (_.BadJs) {\n return;\n }\n \n var BADJS_WIN_ERR = 'BadjsWindowError';\n var extend = function(source, destination) {\n for (var property in destination) {\n source[property] = destination[property]\n }\n return source\n }\n \n _.BadJs = {\n uin: 0,\n mid: \"\",\n view: \"wap\",\n _cache: {},\n _info: {},\n _hookCallback: null,\n ignorePath: true,\n throw: function(e, extData) {\n this.onError(e, extData);\n throw e;\n },\n \n \n onError: function(e, extData) {\n try {\n \n if (e.BADJS_EXCUTED == true) {\n return;\n }\n e.BADJS_EXCUTED = true;\n var data = errToData(e);\n data.uin = this.uin;\n data.mid = this.mid;\n data.view = this.view;\n data.cmdb_module = 'mmbizwap';\n \n if (!!extData) {\n data = extend(data, extData);\n }\n \n if (data.cid) {\n data.key = \"[\" + data.cid + \"]:\" + data.key;\n }\n \n if (data._info) {\n if (Object.prototype.toString.call(data._info) == \"[object Object]\") {\n data.msg += \" || info:\" + JSON.stringify(data._info);\n } else if (Object.prototype.toString.call(data._info) == \"[object String]\") {\n data.msg += \" || info:\" + data._info;\n } else {\n data.msg += \" || info:\" + data._info;\n }\n }\n if (typeof this._hookCallback == \"function\") {\n if (this._hookCallback(data) === false) {\n return\n }\n }\n this._send(data);\n return _.BadJs;\n } catch (e) {\n console.error(e);\n }\n },\n winErr: function(event) {\n if (event.error && event.error.BADJS_EXCUTED) {\n return;\n }\n if (event.type === 'unhandledrejection') {\n if (event.reason instanceof Error) {\n var e = event.reason || {};\n _.BadJs.onError(createError(event.type, e.message || \"\", e.sourceURL || \"\", e.line || \"\", e.column || \"\", event.reason));\n } else {\n var message = typeof event.reason === 'object' ? JSON.stringify(event.reason) : event.reason;\n _.BadJs.onError(createError(event.type, message, \"\", \"\", \"\", event.reason));\n }\n }else{\n _.BadJs.onError(createError(BADJS_WIN_ERR, event.message, event.filename, event.lineno, event.colno, event.error));\n }\n },\n init: function(uin, mid, view) {\n thiLine truncated
"content": "<!DOCTYPE html>\n<html class=\"\n\">\n <head>\n <meta name=\"wechat-enable-text-zoom-em\" content=\"true\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover\">\n<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico\" reportloaderror>\n<link rel=\"mask-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/MjliNWVm.svg\" color=\"#4C4C4C\" reportloaderror>\n<link rel=\"apple-touch-icon-precomposed\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png\" reportloaderror>\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n<meta name=\"format-detection\" content=\"telephone=no\">\n<meta name=\"referrer\" content=\"origin-when-cross-origin\">\n<meta name=\"referrer\" content=\"strict-origin-when-cross-origin\">\n<script nonce=\"1386365927\" reportloaderror>try{document.getElementsByTagName('html').item(0).style.webkitTextSizeAdjust=JSON.parse(window.__wxWebEnv.getEnv()).fontScale+'%'}catch(e){}</script>\n<script type=\"text/javascript\" nonce=\"1386365927\" reportloaderror>\n window.logs = { pagetime: {} };\n window.logs.pagetime['html_begin'] = (+new Date());\n window.LANG = \"en\";\n</script>\n\n \n<script nonce=\"1386365927\" reportloaderror>\nwindow.__moon_initcallback = function () {\n if (!!window.__initCatch) {\n window.__initCatch({\n idkey: 27611 + 2,\n startKey: 0,\n limit: 128,\n badjsId: 43,\n reportOpt: {\n uin: '',\n biz: \"MzI1NTQxMzc3MA==\" || \"\",\n mid: \"2247509385\" || \"\" || \"\",\n idx: \"1\" || \"\" || \"\",\n sn: \"cfd46cae2082abcb4080af456d30aa53\" || \"\" || \"\",\n },\n extInfo: {\n network_rate: 0.01, \n badjs_rate: 0.1\n }\n });\n }\n}\n</script>\n\n <script type=\"text/javascript\" nonce=\"1386365927\" reportloaderror>\n \n \n var WX_BJ_REPORT = window.WX_BJ_REPORT || {};\n (function(_) {\n if (_.BadJs) {\n return;\n }\n \n var BADJS_WIN_ERR = 'BadjsWindowError';\n var extend = function(source, destination) {\n for (var property in destination) {\n source[property] = destination[property]\n }\n return source\n }\n \n _.BadJs = {\n uin: 0,\n mid: \"\",\n view: \"wap\",\n _cache: {},\n _info: {},\n _hookCallback: null,\n ignorePath: true,\n throw: function(e, extData) {\n this.onError(e, extData);\n throw e;\n },\n \n \n onError: function(e, extData) {\n try {\n \n if (e.BADJS_EXCUTED == true) {\n return;\n }\n e.BADJS_EXCUTED = true;\n var data = errToData(e);\n data.uin = this.uin;\n data.mid = this.mid;\n data.view = this.view;\n data.cmdb_module = 'mmbizwap';\n \n if (!!extData) {\n data = extend(data, extData);\n }\n \n if (data.cid) {\n data.key = \"[\" + data.cid + \"]:\" + data.key;\n }\n \n if (data._info) {\n if (Object.prototype.toString.call(data._info) == \"[object Object]\") {\n data.msg += \" || info:\" + JSON.stringify(data._info);\n } else if (Object.prototype.toString.call(data._info) == \"[object String]\") {\n data.msg += \" || info:\" + data._info;\n } else {\n data.msg += \" || info:\" + data._info;\n }\n }\n if (typeof this._hookCallback == \"function\") {\n if (this._hookCallback(data) === false) {\n return\n }\n }\n this._send(data);\n return _.BadJs;\n } catch (e) {\n console.error(e);\n }\n },\n winErr: function(event) {\n if (event.error && event.error.BADJS_EXCUTED) {\n return;\n }\n if (event.type === 'unhandledrejection') {\n if (event.reason instanceof Error) {\n var e = event.reason || {};\n _.BadJs.onError(createError(event.type, e.message || \"\", e.sourceURL || \"\", e.line || \"\", e.column || \"\", event.reason));\n } else {\n var message = typeof event.reason === 'object' ? JSON.stringify(event.reason) : event.reason;\n _.BadJs.onError(createError(event.type, message, \"\", \"\", \"\", event.reason));\n }\n }else{\n _.BadJs.onError(createError(BADJS_WIN_ERR, event.message, event.filename, event.lineno, event.colno, event.error));\n }\n },\n init: function(uin, mid, view) {\n this.uiLine truncated
"category": "",
"link": "https://mp.weixin.qq.com/s/zQjsqJ2SCic2sIHZsEIKgQ",
"creator": "",
"pubDate": "2025-06-28T11:01:00.000Z",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "zQjsqJ2SCic2sIHZsEIKgQ",
"language": "",
"folder": "IT技术",
"feed": "各种折腾",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "7e131f0d49c5f528c5126c431bbd8321",
"highlights": []
},
{
"title": "微信公众号文章搜索MCP服务weixin_search_mcp",
"description": "<!DOCTYPE html>\n<html class=\"\n\">\n <head>\n <meta name=\"wechat-enable-text-zoom-em\" content=\"true\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover\">\n<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico\" reportloaderror>\n<link rel=\"mask-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/MjliNWVm.svg\" color=\"#4C4C4C\" reportloaderror>\n<link rel=\"apple-touch-icon-precomposed\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png\" reportloaderror>\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n<meta name=\"format-detection\" content=\"telephone=no\">\n<meta name=\"referrer\" content=\"origin-when-cross-origin\">\n<meta name=\"referrer\" content=\"strict-origin-when-cross-origin\">\n<script nonce=\"1287007689\" reportloaderror>try{document.getElementsByTagName('html').item(0).style.webkitTextSizeAdjust=JSON.parse(window.__wxWebEnv.getEnv()).fontScale+'%'}catch(e){}</script>\n<script type=\"text/javascript\" nonce=\"1287007689\" reportloaderror>\n window.logs = { pagetime: {} };\n window.logs.pagetime['html_begin'] = (+new Date());\n window.LANG = \"en\";\n</script>\n\n \n<script nonce=\"1287007689\" reportloaderror>\nwindow.__moon_initcallback = function () {\n if (!!window.__initCatch) {\n window.__initCatch({\n idkey: 27611 + 2,\n startKey: 0,\n limit: 128,\n badjsId: 43,\n reportOpt: {\n uin: '',\n biz: \"MzI1NTQxMzc3MA==\" || \"\",\n mid: \"2247509332\" || \"\" || \"\",\n idx: \"1\" || \"\" || \"\",\n sn: \"779ed7b6c46cc79a8f7de6a63ba2f4fe\" || \"\" || \"\",\n },\n extInfo: {\n network_rate: 0.01, \n badjs_rate: 0.1\n }\n });\n }\n}\n</script>\n\n <script type=\"text/javascript\" nonce=\"1287007689\" reportloaderror>\n \n \n var WX_BJ_REPORT = window.WX_BJ_REPORT || {};\n (function(_) {\n if (_.BadJs) {\n return;\n }\n \n var BADJS_WIN_ERR = 'BadjsWindowError';\n var extend = function(source, destination) {\n for (var property in destination) {\n source[property] = destination[property]\n }\n return source\n }\n \n _.BadJs = {\n uin: 0,\n mid: \"\",\n view: \"wap\",\n _cache: {},\n _info: {},\n _hookCallback: null,\n ignorePath: true,\n throw: function(e, extData) {\n this.onError(e, extData);\n throw e;\n },\n \n \n onError: function(e, extData) {\n try {\n \n if (e.BADJS_EXCUTED == true) {\n return;\n }\n e.BADJS_EXCUTED = true;\n var data = errToData(e);\n data.uin = this.uin;\n data.mid = this.mid;\n data.view = this.view;\n data.cmdb_module = 'mmbizwap';\n \n if (!!extData) {\n data = extend(data, extData);\n }\n \n if (data.cid) {\n data.key = \"[\" + data.cid + \"]:\" + data.key;\n }\n \n if (data._info) {\n if (Object.prototype.toString.call(data._info) == \"[object Object]\") {\n data.msg += \" || info:\" + JSON.stringify(data._info);\n } else if (Object.prototype.toString.call(data._info) == \"[object String]\") {\n data.msg += \" || info:\" + data._info;\n } else {\n data.msg += \" || info:\" + data._info;\n }\n }\n if (typeof this._hookCallback == \"function\") {\n if (this._hookCallback(data) === false) {\n return\n }\n }\n this._send(data);\n return _.BadJs;\n } catch (e) {\n console.error(e);\n }\n },\n winErr: function(event) {\n if (event.error && event.error.BADJS_EXCUTED) {\n return;\n }\n if (event.type === 'unhandledrejection') {\n if (event.reason instanceof Error) {\n var e = event.reason || {};\n _.BadJs.onError(createError(event.type, e.message || \"\", e.sourceURL || \"\", e.line || \"\", e.column || \"\", event.reason));\n } else {\n var message = typeof event.reason === 'object' ? JSON.stringify(event.reason) : event.reason;\n _.BadJs.onError(createError(event.type, message, \"\", \"\", \"\", event.reason));\n }\n }else{\n _.BadJs.onError(createError(BADJS_WIN_ERR, event.message, event.filename, event.lineno, event.colno, event.error));\n }\n },\n init: function(uin, mid, view) {\n thiLine truncated
"content": "<!DOCTYPE html>\n<html class=\"\n\">\n <head>\n <meta name=\"wechat-enable-text-zoom-em\" content=\"true\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover\">\n<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico\" reportloaderror>\n<link rel=\"mask-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/MjliNWVm.svg\" color=\"#4C4C4C\" reportloaderror>\n<link rel=\"apple-touch-icon-precomposed\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png\" reportloaderror>\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n<meta name=\"format-detection\" content=\"telephone=no\">\n<meta name=\"referrer\" content=\"origin-when-cross-origin\">\n<meta name=\"referrer\" content=\"strict-origin-when-cross-origin\">\n<script nonce=\"1287007689\" reportloaderror>try{document.getElementsByTagName('html').item(0).style.webkitTextSizeAdjust=JSON.parse(window.__wxWebEnv.getEnv()).fontScale+'%'}catch(e){}</script>\n<script type=\"text/javascript\" nonce=\"1287007689\" reportloaderror>\n window.logs = { pagetime: {} };\n window.logs.pagetime['html_begin'] = (+new Date());\n window.LANG = \"en\";\n</script>\n\n \n<script nonce=\"1287007689\" reportloaderror>\nwindow.__moon_initcallback = function () {\n if (!!window.__initCatch) {\n window.__initCatch({\n idkey: 27611 + 2,\n startKey: 0,\n limit: 128,\n badjsId: 43,\n reportOpt: {\n uin: '',\n biz: \"MzI1NTQxMzc3MA==\" || \"\",\n mid: \"2247509332\" || \"\" || \"\",\n idx: \"1\" || \"\" || \"\",\n sn: \"779ed7b6c46cc79a8f7de6a63ba2f4fe\" || \"\" || \"\",\n },\n extInfo: {\n network_rate: 0.01, \n badjs_rate: 0.1\n }\n });\n }\n}\n</script>\n\n <script type=\"text/javascript\" nonce=\"1287007689\" reportloaderror>\n \n \n var WX_BJ_REPORT = window.WX_BJ_REPORT || {};\n (function(_) {\n if (_.BadJs) {\n return;\n }\n \n var BADJS_WIN_ERR = 'BadjsWindowError';\n var extend = function(source, destination) {\n for (var property in destination) {\n source[property] = destination[property]\n }\n return source\n }\n \n _.BadJs = {\n uin: 0,\n mid: \"\",\n view: \"wap\",\n _cache: {},\n _info: {},\n _hookCallback: null,\n ignorePath: true,\n throw: function(e, extData) {\n this.onError(e, extData);\n throw e;\n },\n \n \n onError: function(e, extData) {\n try {\n \n if (e.BADJS_EXCUTED == true) {\n return;\n }\n e.BADJS_EXCUTED = true;\n var data = errToData(e);\n data.uin = this.uin;\n data.mid = this.mid;\n data.view = this.view;\n data.cmdb_module = 'mmbizwap';\n \n if (!!extData) {\n data = extend(data, extData);\n }\n \n if (data.cid) {\n data.key = \"[\" + data.cid + \"]:\" + data.key;\n }\n \n if (data._info) {\n if (Object.prototype.toString.call(data._info) == \"[object Object]\") {\n data.msg += \" || info:\" + JSON.stringify(data._info);\n } else if (Object.prototype.toString.call(data._info) == \"[object String]\") {\n data.msg += \" || info:\" + data._info;\n } else {\n data.msg += \" || info:\" + data._info;\n }\n }\n if (typeof this._hookCallback == \"function\") {\n if (this._hookCallback(data) === false) {\n return\n }\n }\n this._send(data);\n return _.BadJs;\n } catch (e) {\n console.error(e);\n }\n },\n winErr: function(event) {\n if (event.error && event.error.BADJS_EXCUTED) {\n return;\n }\n if (event.type === 'unhandledrejection') {\n if (event.reason instanceof Error) {\n var e = event.reason || {};\n _.BadJs.onError(createError(event.type, e.message || \"\", e.sourceURL || \"\", e.line || \"\", e.column || \"\", event.reason));\n } else {\n var message = typeof event.reason === 'object' ? JSON.stringify(event.reason) : event.reason;\n _.BadJs.onError(createError(event.type, message, \"\", \"\", \"\", event.reason));\n }\n }else{\n _.BadJs.onError(createError(BADJS_WIN_ERR, event.message, event.filename, event.lineno, event.colno, event.error));\n }\n },\n init: function(uin, mid, view) {\n this.uiLine truncated
"category": "",
"link": "https://mp.weixin.qq.com/s/mYn2xaoIVom9zptCMIxvLA",
"creator": "",
"pubDate": "2025-06-27T11:02:24.000Z",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "mYn2xaoIVom9zptCMIxvLA",
"language": "",
"folder": "IT技术",
"feed": "各种折腾",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "cec0b4ac495d75dcf0d0496c32a70cac",
"highlights": []
},
{
"title": "AList的开源替代:OpenList",
"description": "<!DOCTYPE html>\n<html class=\"\n\">\n <head>\n <meta name=\"wechat-enable-text-zoom-em\" content=\"true\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover\">\n<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico\" reportloaderror>\n<link rel=\"mask-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/MjliNWVm.svg\" color=\"#4C4C4C\" reportloaderror>\n<link rel=\"apple-touch-icon-precomposed\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png\" reportloaderror>\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n<meta name=\"format-detection\" content=\"telephone=no\">\n<meta name=\"referrer\" content=\"origin-when-cross-origin\">\n<meta name=\"referrer\" content=\"strict-origin-when-cross-origin\">\n<script nonce=\"625355971\" reportloaderror>try{document.getElementsByTagName('html').item(0).style.webkitTextSizeAdjust=JSON.parse(window.__wxWebEnv.getEnv()).fontScale+'%'}catch(e){}</script>\n<script type=\"text/javascript\" nonce=\"625355971\" reportloaderror>\n window.logs = { pagetime: {} };\n window.logs.pagetime['html_begin'] = (+new Date());\n window.LANG = \"en\";\n</script>\n\n \n<script nonce=\"625355971\" reportloaderror>\nwindow.__moon_initcallback = function () {\n if (!!window.__initCatch) {\n window.__initCatch({\n idkey: 27611 + 2,\n startKey: 0,\n limit: 128,\n badjsId: 43,\n reportOpt: {\n uin: '',\n biz: \"MzI1NTQxMzc3MA==\" || \"\",\n mid: \"2247509279\" || \"\" || \"\",\n idx: \"1\" || \"\" || \"\",\n sn: \"247dd9fa0e2877a0c16af75ed1deca36\" || \"\" || \"\",\n },\n extInfo: {\n network_rate: 0.01, \n badjs_rate: 0.1\n }\n });\n }\n}\n</script>\n\n <script type=\"text/javascript\" nonce=\"625355971\" reportloaderror>\n \n \n var WX_BJ_REPORT = window.WX_BJ_REPORT || {};\n (function(_) {\n if (_.BadJs) {\n return;\n }\n \n var BADJS_WIN_ERR = 'BadjsWindowError';\n var extend = function(source, destination) {\n for (var property in destination) {\n source[property] = destination[property]\n }\n return source\n }\n \n _.BadJs = {\n uin: 0,\n mid: \"\",\n view: \"wap\",\n _cache: {},\n _info: {},\n _hookCallback: null,\n ignorePath: true,\n throw: function(e, extData) {\n this.onError(e, extData);\n throw e;\n },\n \n \n onError: function(e, extData) {\n try {\n \n if (e.BADJS_EXCUTED == true) {\n return;\n }\n e.BADJS_EXCUTED = true;\n var data = errToData(e);\n data.uin = this.uin;\n data.mid = this.mid;\n data.view = this.view;\n data.cmdb_module = 'mmbizwap';\n \n if (!!extData) {\n data = extend(data, extData);\n }\n \n if (data.cid) {\n data.key = \"[\" + data.cid + \"]:\" + data.key;\n }\n \n if (data._info) {\n if (Object.prototype.toString.call(data._info) == \"[object Object]\") {\n data.msg += \" || info:\" + JSON.stringify(data._info);\n } else if (Object.prototype.toString.call(data._info) == \"[object String]\") {\n data.msg += \" || info:\" + data._info;\n } else {\n data.msg += \" || info:\" + data._info;\n }\n }\n if (typeof this._hookCallback == \"function\") {\n if (this._hookCallback(data) === false) {\n return\n }\n }\n this._send(data);\n return _.BadJs;\n } catch (e) {\n console.error(e);\n }\n },\n winErr: function(event) {\n if (event.error && event.error.BADJS_EXCUTED) {\n return;\n }\n if (event.type === 'unhandledrejection') {\n if (event.reason instanceof Error) {\n var e = event.reason || {};\n _.BadJs.onError(createError(event.type, e.message || \"\", e.sourceURL || \"\", e.line || \"\", e.column || \"\", event.reason));\n } else {\n var message = typeof event.reason === 'object' ? JSON.stringify(event.reason) : event.reason;\n _.BadJs.onError(createError(event.type, message, \"\", \"\", \"\", event.reason));\n }\n }else{\n _.BadJs.onError(createError(BADJS_WIN_ERR, event.message, event.filename, event.lineno, event.colno, event.error));\n }\n },\n init: function(uin, mid, view) {\n this.uiLine truncated
"content": "<!DOCTYPE html>\n<html class=\"\n\">\n <head>\n <meta name=\"wechat-enable-text-zoom-em\" content=\"true\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover\">\n<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico\" reportloaderror>\n<link rel=\"mask-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/MjliNWVm.svg\" color=\"#4C4C4C\" reportloaderror>\n<link rel=\"apple-touch-icon-precomposed\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png\" reportloaderror>\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n<meta name=\"format-detection\" content=\"telephone=no\">\n<meta name=\"referrer\" content=\"origin-when-cross-origin\">\n<meta name=\"referrer\" content=\"strict-origin-when-cross-origin\">\n<script nonce=\"625355971\" reportloaderror>try{document.getElementsByTagName('html').item(0).style.webkitTextSizeAdjust=JSON.parse(window.__wxWebEnv.getEnv()).fontScale+'%'}catch(e){}</script>\n<script type=\"text/javascript\" nonce=\"625355971\" reportloaderror>\n window.logs = { pagetime: {} };\n window.logs.pagetime['html_begin'] = (+new Date());\n window.LANG = \"en\";\n</script>\n\n \n<script nonce=\"625355971\" reportloaderror>\nwindow.__moon_initcallback = function () {\n if (!!window.__initCatch) {\n window.__initCatch({\n idkey: 27611 + 2,\n startKey: 0,\n limit: 128,\n badjsId: 43,\n reportOpt: {\n uin: '',\n biz: \"MzI1NTQxMzc3MA==\" || \"\",\n mid: \"2247509279\" || \"\" || \"\",\n idx: \"1\" || \"\" || \"\",\n sn: \"247dd9fa0e2877a0c16af75ed1deca36\" || \"\" || \"\",\n },\n extInfo: {\n network_rate: 0.01, \n badjs_rate: 0.1\n }\n });\n }\n}\n</script>\n\n <script type=\"text/javascript\" nonce=\"625355971\" reportloaderror>\n \n \n var WX_BJ_REPORT = window.WX_BJ_REPORT || {};\n (function(_) {\n if (_.BadJs) {\n return;\n }\n \n var BADJS_WIN_ERR = 'BadjsWindowError';\n var extend = function(source, destination) {\n for (var property in destination) {\n source[property] = destination[property]\n }\n return source\n }\n \n _.BadJs = {\n uin: 0,\n mid: \"\",\n view: \"wap\",\n _cache: {},\n _info: {},\n _hookCallback: null,\n ignorePath: true,\n throw: function(e, extData) {\n this.onError(e, extData);\n throw e;\n },\n \n \n onError: function(e, extData) {\n try {\n \n if (e.BADJS_EXCUTED == true) {\n return;\n }\n e.BADJS_EXCUTED = true;\n var data = errToData(e);\n data.uin = this.uin;\n data.mid = this.mid;\n data.view = this.view;\n data.cmdb_module = 'mmbizwap';\n \n if (!!extData) {\n data = extend(data, extData);\n }\n \n if (data.cid) {\n data.key = \"[\" + data.cid + \"]:\" + data.key;\n }\n \n if (data._info) {\n if (Object.prototype.toString.call(data._info) == \"[object Object]\") {\n data.msg += \" || info:\" + JSON.stringify(data._info);\n } else if (Object.prototype.toString.call(data._info) == \"[object String]\") {\n data.msg += \" || info:\" + data._info;\n } else {\n data.msg += \" || info:\" + data._info;\n }\n }\n if (typeof this._hookCallback == \"function\") {\n if (this._hookCallback(data) === false) {\n return\n }\n }\n this._send(data);\n return _.BadJs;\n } catch (e) {\n console.error(e);\n }\n },\n winErr: function(event) {\n if (event.error && event.error.BADJS_EXCUTED) {\n return;\n }\n if (event.type === 'unhandledrejection') {\n if (event.reason instanceof Error) {\n var e = event.reason || {};\n _.BadJs.onError(createError(event.type, e.message || \"\", e.sourceURL || \"\", e.line || \"\", e.column || \"\", event.reason));\n } else {\n var message = typeof event.reason === 'object' ? JSON.stringify(event.reason) : event.reason;\n _.BadJs.onError(createError(event.type, message, \"\", \"\", \"\", event.reason));\n }\n }else{\n _.BadJs.onError(createError(BADJS_WIN_ERR, event.message, event.filename, event.lineno, event.colno, event.error));\n }\n },\n init: function(uin, mid, view) {\n this.uin = Line truncated
"category": "",
"link": "https://mp.weixin.qq.com/s/Dre79Okfs5ZuGT7e9zCWpw",
"creator": "",
"pubDate": "2025-06-25T11:02:20.000Z",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "Dre79Okfs5ZuGT7e9zCWpw",
"language": "",
"folder": "IT技术",
"feed": "各种折腾",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "53e3d4c67a46cabd373f08ca74932a19",
"highlights": []
},
{
"title": "FeedMe:通过AI摘要提升阅读效率",
"description": "<!DOCTYPE html>\n<html class=\"\n\">\n <head>\n <meta name=\"wechat-enable-text-zoom-em\" content=\"true\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover\">\n<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico\" reportloaderror>\n<link rel=\"mask-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/MjliNWVm.svg\" color=\"#4C4C4C\" reportloaderror>\n<link rel=\"apple-touch-icon-precomposed\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png\" reportloaderror>\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n<meta name=\"format-detection\" content=\"telephone=no\">\n<meta name=\"referrer\" content=\"origin-when-cross-origin\">\n<meta name=\"referrer\" content=\"strict-origin-when-cross-origin\">\n<script nonce=\"1302581395\" reportloaderror>try{document.getElementsByTagName('html').item(0).style.webkitTextSizeAdjust=JSON.parse(window.__wxWebEnv.getEnv()).fontScale+'%'}catch(e){}</script>\n<script type=\"text/javascript\" nonce=\"1302581395\" reportloaderror>\n window.logs = { pagetime: {} };\n window.logs.pagetime['html_begin'] = (+new Date());\n window.LANG = \"en\";\n</script>\n\n \n<script nonce=\"1302581395\" reportloaderror>\nwindow.__moon_initcallback = function () {\n if (!!window.__initCatch) {\n window.__initCatch({\n idkey: 27611 + 2,\n startKey: 0,\n limit: 128,\n badjsId: 43,\n reportOpt: {\n uin: '',\n biz: \"MzI1NTQxMzc3MA==\" || \"\",\n mid: \"2247509240\" || \"\" || \"\",\n idx: \"1\" || \"\" || \"\",\n sn: \"73bc3f01b1302b5a0ba5c167baac416a\" || \"\" || \"\",\n },\n extInfo: {\n network_rate: 0.01, \n badjs_rate: 0.1\n }\n });\n }\n}\n</script>\n\n <script type=\"text/javascript\" nonce=\"1302581395\" reportloaderror>\n \n \n var WX_BJ_REPORT = window.WX_BJ_REPORT || {};\n (function(_) {\n if (_.BadJs) {\n return;\n }\n \n var BADJS_WIN_ERR = 'BadjsWindowError';\n var extend = function(source, destination) {\n for (var property in destination) {\n source[property] = destination[property]\n }\n return source\n }\n \n _.BadJs = {\n uin: 0,\n mid: \"\",\n view: \"wap\",\n _cache: {},\n _info: {},\n _hookCallback: null,\n ignorePath: true,\n throw: function(e, extData) {\n this.onError(e, extData);\n throw e;\n },\n \n \n onError: function(e, extData) {\n try {\n \n if (e.BADJS_EXCUTED == true) {\n return;\n }\n e.BADJS_EXCUTED = true;\n var data = errToData(e);\n data.uin = this.uin;\n data.mid = this.mid;\n data.view = this.view;\n data.cmdb_module = 'mmbizwap';\n \n if (!!extData) {\n data = extend(data, extData);\n }\n \n if (data.cid) {\n data.key = \"[\" + data.cid + \"]:\" + data.key;\n }\n \n if (data._info) {\n if (Object.prototype.toString.call(data._info) == \"[object Object]\") {\n data.msg += \" || info:\" + JSON.stringify(data._info);\n } else if (Object.prototype.toString.call(data._info) == \"[object String]\") {\n data.msg += \" || info:\" + data._info;\n } else {\n data.msg += \" || info:\" + data._info;\n }\n }\n if (typeof this._hookCallback == \"function\") {\n if (this._hookCallback(data) === false) {\n return\n }\n }\n this._send(data);\n return _.BadJs;\n } catch (e) {\n console.error(e);\n }\n },\n winErr: function(event) {\n if (event.error && event.error.BADJS_EXCUTED) {\n return;\n }\n if (event.type === 'unhandledrejection') {\n if (event.reason instanceof Error) {\n var e = event.reason || {};\n _.BadJs.onError(createError(event.type, e.message || \"\", e.sourceURL || \"\", e.line || \"\", e.column || \"\", event.reason));\n } else {\n var message = typeof event.reason === 'object' ? JSON.stringify(event.reason) : event.reason;\n _.BadJs.onError(createError(event.type, message, \"\", \"\", \"\", event.reason));\n }\n }else{\n _.BadJs.onError(createError(BADJS_WIN_ERR, event.message, event.filename, event.lineno, event.colno, event.error));\n }\n },\n init: function(uin, mid, view) {\n thiLine truncated
"content": "<!DOCTYPE html>\n<html class=\"\n\">\n <head>\n <meta name=\"wechat-enable-text-zoom-em\" content=\"true\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover\">\n<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico\" reportloaderror>\n<link rel=\"mask-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/MjliNWVm.svg\" color=\"#4C4C4C\" reportloaderror>\n<link rel=\"apple-touch-icon-precomposed\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png\" reportloaderror>\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n<meta name=\"format-detection\" content=\"telephone=no\">\n<meta name=\"referrer\" content=\"origin-when-cross-origin\">\n<meta name=\"referrer\" content=\"strict-origin-when-cross-origin\">\n<script nonce=\"1302581395\" reportloaderror>try{document.getElementsByTagName('html').item(0).style.webkitTextSizeAdjust=JSON.parse(window.__wxWebEnv.getEnv()).fontScale+'%'}catch(e){}</script>\n<script type=\"text/javascript\" nonce=\"1302581395\" reportloaderror>\n window.logs = { pagetime: {} };\n window.logs.pagetime['html_begin'] = (+new Date());\n window.LANG = \"en\";\n</script>\n\n \n<script nonce=\"1302581395\" reportloaderror>\nwindow.__moon_initcallback = function () {\n if (!!window.__initCatch) {\n window.__initCatch({\n idkey: 27611 + 2,\n startKey: 0,\n limit: 128,\n badjsId: 43,\n reportOpt: {\n uin: '',\n biz: \"MzI1NTQxMzc3MA==\" || \"\",\n mid: \"2247509240\" || \"\" || \"\",\n idx: \"1\" || \"\" || \"\",\n sn: \"73bc3f01b1302b5a0ba5c167baac416a\" || \"\" || \"\",\n },\n extInfo: {\n network_rate: 0.01, \n badjs_rate: 0.1\n }\n });\n }\n}\n</script>\n\n <script type=\"text/javascript\" nonce=\"1302581395\" reportloaderror>\n \n \n var WX_BJ_REPORT = window.WX_BJ_REPORT || {};\n (function(_) {\n if (_.BadJs) {\n return;\n }\n \n var BADJS_WIN_ERR = 'BadjsWindowError';\n var extend = function(source, destination) {\n for (var property in destination) {\n source[property] = destination[property]\n }\n return source\n }\n \n _.BadJs = {\n uin: 0,\n mid: \"\",\n view: \"wap\",\n _cache: {},\n _info: {},\n _hookCallback: null,\n ignorePath: true,\n throw: function(e, extData) {\n this.onError(e, extData);\n throw e;\n },\n \n \n onError: function(e, extData) {\n try {\n \n if (e.BADJS_EXCUTED == true) {\n return;\n }\n e.BADJS_EXCUTED = true;\n var data = errToData(e);\n data.uin = this.uin;\n data.mid = this.mid;\n data.view = this.view;\n data.cmdb_module = 'mmbizwap';\n \n if (!!extData) {\n data = extend(data, extData);\n }\n \n if (data.cid) {\n data.key = \"[\" + data.cid + \"]:\" + data.key;\n }\n \n if (data._info) {\n if (Object.prototype.toString.call(data._info) == \"[object Object]\") {\n data.msg += \" || info:\" + JSON.stringify(data._info);\n } else if (Object.prototype.toString.call(data._info) == \"[object String]\") {\n data.msg += \" || info:\" + data._info;\n } else {\n data.msg += \" || info:\" + data._info;\n }\n }\n if (typeof this._hookCallback == \"function\") {\n if (this._hookCallback(data) === false) {\n return\n }\n }\n this._send(data);\n return _.BadJs;\n } catch (e) {\n console.error(e);\n }\n },\n winErr: function(event) {\n if (event.error && event.error.BADJS_EXCUTED) {\n return;\n }\n if (event.type === 'unhandledrejection') {\n if (event.reason instanceof Error) {\n var e = event.reason || {};\n _.BadJs.onError(createError(event.type, e.message || \"\", e.sourceURL || \"\", e.line || \"\", e.column || \"\", event.reason));\n } else {\n var message = typeof event.reason === 'object' ? JSON.stringify(event.reason) : event.reason;\n _.BadJs.onError(createError(event.type, message, \"\", \"\", \"\", event.reason));\n }\n }else{\n _.BadJs.onError(createError(BADJS_WIN_ERR, event.message, event.filename, event.lineno, event.colno, event.error));\n }\n },\n init: function(uin, mid, view) {\n this.uiLine truncated
"category": "",
"link": "https://mp.weixin.qq.com/s/jFPxZMLSKIxsBa72VhwVhg",
"creator": "",
"pubDate": "2025-06-23T11:00:24.000Z",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "jFPxZMLSKIxsBa72VhwVhg",
"language": "",
"folder": "IT技术",
"feed": "各种折腾",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "9d4d7122028a361937c754b38d2b7578",
"highlights": []
},
{
"title": "研究:置身大自然会对你体验时间的方式产生深远影响",
"description": "<div><div class=\"mian_txt\" id=\"Content\">\n\n \n\n \n \n\n <p>研究发现,置身大自然会让你感觉时间过得更慢,有助于将你的注意力从眼前转移到未来的需求上。你将能够延迟即时满足感,转而追求长期回报,而不是永远生活在“只求过得去”的状态中。</p> \n<p> </p> \n<figure class=\"image\" style=\"display: table;\"> \n <img src=\"https://img2.chinadaily.com.cn/images/202409/05/66d95738a3108f29a8b66ee6.jpeg\" data-from=\"newsroom\" data-mimetype=\"image/jpeg\" id=\"img-66d95738a3108f29a8b66ee6\"> \n <figcaption style=\"display: table-caption; caption-side: bottom;\">\n Photo/Pexels \n </figcaption> \n</figure> \n<p> </p> \n<p>Do you ever get that feeling that there aren't enough hours in the day? That time is somehow racing away from you, and it is impossible to fit everything in. But then, you step outside into the countryside and suddenly everything seems slower, more relaxed, like time has somehow changed.</p> \n<p>你是否有过这样的感觉:一天的时间不够用?时间不知不觉地从你身边溜走,不可能把所有事情都安排好。但是,当你走到郊外,突然间一切都变得缓慢、轻松起来,就好像时间发生了某种变化。</p> \n<p> </p> \n<p>It's not just you – recent research showed nature can regulate our sense of time.</p> \n<p>不仅仅是你,最近的研究表明,大自然可以调节我们的时间感。</p> \n<p> </p> \n<p>For many of us, the combined demands of work, home and family mean that we are always feeling like we don't have enough time. Time poverty has also been exacerbated by digital technologies. Permanent connectivity extends working hours and can make it difficult to switch off from the demands of friends and family.</p> \n<p>对我们许多人来说,工作、家庭和家人的综合需求意味着我们总是感觉时间不够用。数字技术也加剧了时间贫乏。永久连接延长了工作时间,也使我们难以摆脱朋友和家人的要求。</p> \n<p> </p> \n<p>Recent research suggests that the antidote to our lack of time may lie in the natural world. Psychologist Richardo Correia, at the University of Turku in Finland, found that being in nature may change how we experience time and, perhaps, even give us the sense of time abundance.</p> \n<p>最新研究表明,解决我们时间匮乏问题的良方可能在于自然世界。芬兰图尔库大学的心理学家理查多·科雷亚发现,身处在大自然中可能会改变我们对时间的体验方式,甚至可能让我们感觉到时间的充裕。</p> \n<p> </p> \n<p>Correia examined research which compared people's experiences of time when they performed different types of tasks in urban and natural environments. These studies consistently showed that people report a sense of expanded time when they were in nature compared to when they were in an urban environment.</p> \n<p>科雷亚查阅了比较人们在城市和自然环境中执行不同类型任务时对时间体验的研究。这些研究一致表明,与在城市环境中相比,人们在大自然中会有时间更充裕的感觉。</p> \n<p> </p> \n<p>For example, people are more likely to perceive a walk in the countryside as longer than a walk of the same length in the city. Similarly, people report perceiving time as passing more slowly while performing tasks in natural green environments than in urban environments. Nature seems to slow and expand our sense of time.</p> \n<p>例如,与在城市中散步相比,人们更倾向于认为在郊外散步的时间更长。同样,与城市环境相比,人们在绿色自然环境中执行任务时会觉得时间过得更慢。大自然似乎减缓并扩展了我们的时间感。</p> \n<p> </p> \n<p>It's not just our sense of time in the moment which appears to be altered by the natural world, it's also our sense of the past and future. Previous research shows that spending time in nature helps to shift our focus from the immediate moment towards our future needs. So rather than focusing on the stress of the demands on our time, nature helps us to see the bigger picture.</p> \n<p>自然世界似乎不仅改变了我们当下的时间感,还改变了我们对过去和未来的时间感。先前的研究表明,在大自然中度过的时间有助于将我们的注意力从眼前转移到未来的需求上。因此,大自然会帮助我们看到更广阔的前景,而不是专注于时间要求带给我们的压力。</p> \n<p> </p> \n<p>This can help us to prioritise our actions so that we meet our long-term goals rather than living in a perpetual state of \"just about keeping our head above water\".</p> \n<p>这可以帮助我们确定行动的轻重缓急,从而实现我们的长期目标,而不是永远生活在“只求过得去”的状态中。</p> \n<p> </p> \n<p>This isLine truncated
@@ -2583,6 +2473,116 @@
"tags": [],
"hash": "99b651d543cad1d20b6bf4c9c9210913",
"highlights": []
},
{
"title": "自托管的云文件存储解决方案Phylum",
"description": "<!DOCTYPE html>\n<html class=\"\n\">\n <head>\n <meta name=\"wechat-enable-text-zoom-em\" content=\"true\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover\">\n<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico\" reportloaderror>\n<link rel=\"mask-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/MjliNWVm.svg\" color=\"#4C4C4C\" reportloaderror>\n<link rel=\"apple-touch-icon-precomposed\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png\" reportloaderror>\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n<meta name=\"format-detection\" content=\"telephone=no\">\n<meta name=\"referrer\" content=\"origin-when-cross-origin\">\n<meta name=\"referrer\" content=\"strict-origin-when-cross-origin\">\n<script nonce=\"1429490152\" reportloaderror>try{document.getElementsByTagName('html').item(0).style.webkitTextSizeAdjust=JSON.parse(window.__wxWebEnv.getEnv()).fontScale+'%'}catch(e){}</script>\n<script type=\"text/javascript\" nonce=\"1429490152\" reportloaderror>\n window.logs = { pagetime: {} };\n window.logs.pagetime['html_begin'] = (+new Date());\n window.LANG = \"en\";\n</script>\n\n \n<script nonce=\"1429490152\" reportloaderror>\nwindow.__moon_initcallback = function () {\n if (!!window.__initCatch) {\n window.__initCatch({\n idkey: 27611 + 2,\n startKey: 0,\n limit: 128,\n badjsId: 43,\n reportOpt: {\n uin: '',\n biz: \"MzI1NTQxMzc3MA==\" || \"\",\n mid: \"2247509537\" || \"\" || \"\",\n idx: \"1\" || \"\" || \"\",\n sn: \"ac26447ad37a4bd1e3b05159a69bd74d\" || \"\" || \"\",\n },\n extInfo: {\n network_rate: 0.01, \n badjs_rate: 0.1\n }\n });\n }\n}\n</script>\n\n <script type=\"text/javascript\" nonce=\"1429490152\" reportloaderror>\n \n \n var WX_BJ_REPORT = window.WX_BJ_REPORT || {};\n (function(_) {\n if (_.BadJs) {\n return;\n }\n \n var BADJS_WIN_ERR = 'BadjsWindowError';\n var extend = function(source, destination) {\n for (var property in destination) {\n source[property] = destination[property]\n }\n return source\n }\n \n _.BadJs = {\n uin: 0,\n mid: \"\",\n view: \"wap\",\n _cache: {},\n _info: {},\n _hookCallback: null,\n ignorePath: true,\n throw: function(e, extData) {\n this.onError(e, extData);\n throw e;\n },\n \n \n onError: function(e, extData) {\n try {\n \n if (e.BADJS_EXCUTED == true) {\n return;\n }\n e.BADJS_EXCUTED = true;\n var data = errToData(e);\n data.uin = this.uin;\n data.mid = this.mid;\n data.view = this.view;\n data.cmdb_module = 'mmbizwap';\n \n if (!!extData) {\n data = extend(data, extData);\n }\n \n if (data.cid) {\n data.key = \"[\" + data.cid + \"]:\" + data.key;\n }\n \n if (data._info) {\n if (Object.prototype.toString.call(data._info) == \"[object Object]\") {\n data.msg += \" || info:\" + JSON.stringify(data._info);\n } else if (Object.prototype.toString.call(data._info) == \"[object String]\") {\n data.msg += \" || info:\" + data._info;\n } else {\n data.msg += \" || info:\" + data._info;\n }\n }\n if (typeof this._hookCallback == \"function\") {\n if (this._hookCallback(data) === false) {\n return\n }\n }\n this._send(data);\n return _.BadJs;\n } catch (e) {\n console.error(e);\n }\n },\n winErr: function(event) {\n if (event.error && event.error.BADJS_EXCUTED) {\n return;\n }\n if (event.type === 'unhandledrejection') {\n if (event.reason instanceof Error) {\n var e = event.reason || {};\n _.BadJs.onError(createError(event.type, e.message || \"\", e.sourceURL || \"\", e.line || \"\", e.column || \"\", event.reason));\n } else {\n var message = typeof event.reason === 'object' ? JSON.stringify(event.reason) : event.reason;\n _.BadJs.onError(createError(event.type, message, \"\", \"\", \"\", event.reason));\n }\n }else{\n _.BadJs.onError(createError(BADJS_WIN_ERR, event.message, event.filename, event.lineno, event.colno, event.error));\n }\n },\n init: function(uin, mid, view) {\n thiLine truncated
"content": "<!DOCTYPE html>\n<html class=\"\n\">\n <head>\n <meta name=\"wechat-enable-text-zoom-em\" content=\"true\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover\">\n<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico\" reportloaderror>\n<link rel=\"mask-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/MjliNWVm.svg\" color=\"#4C4C4C\" reportloaderror>\n<link rel=\"apple-touch-icon-precomposed\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png\" reportloaderror>\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n<meta name=\"format-detection\" content=\"telephone=no\">\n<meta name=\"referrer\" content=\"origin-when-cross-origin\">\n<meta name=\"referrer\" content=\"strict-origin-when-cross-origin\">\n<script nonce=\"1429490152\" reportloaderror>try{document.getElementsByTagName('html').item(0).style.webkitTextSizeAdjust=JSON.parse(window.__wxWebEnv.getEnv()).fontScale+'%'}catch(e){}</script>\n<script type=\"text/javascript\" nonce=\"1429490152\" reportloaderror>\n window.logs = { pagetime: {} };\n window.logs.pagetime['html_begin'] = (+new Date());\n window.LANG = \"en\";\n</script>\n\n \n<script nonce=\"1429490152\" reportloaderror>\nwindow.__moon_initcallback = function () {\n if (!!window.__initCatch) {\n window.__initCatch({\n idkey: 27611 + 2,\n startKey: 0,\n limit: 128,\n badjsId: 43,\n reportOpt: {\n uin: '',\n biz: \"MzI1NTQxMzc3MA==\" || \"\",\n mid: \"2247509537\" || \"\" || \"\",\n idx: \"1\" || \"\" || \"\",\n sn: \"ac26447ad37a4bd1e3b05159a69bd74d\" || \"\" || \"\",\n },\n extInfo: {\n network_rate: 0.01, \n badjs_rate: 0.1\n }\n });\n }\n}\n</script>\n\n <script type=\"text/javascript\" nonce=\"1429490152\" reportloaderror>\n \n \n var WX_BJ_REPORT = window.WX_BJ_REPORT || {};\n (function(_) {\n if (_.BadJs) {\n return;\n }\n \n var BADJS_WIN_ERR = 'BadjsWindowError';\n var extend = function(source, destination) {\n for (var property in destination) {\n source[property] = destination[property]\n }\n return source\n }\n \n _.BadJs = {\n uin: 0,\n mid: \"\",\n view: \"wap\",\n _cache: {},\n _info: {},\n _hookCallback: null,\n ignorePath: true,\n throw: function(e, extData) {\n this.onError(e, extData);\n throw e;\n },\n \n \n onError: function(e, extData) {\n try {\n \n if (e.BADJS_EXCUTED == true) {\n return;\n }\n e.BADJS_EXCUTED = true;\n var data = errToData(e);\n data.uin = this.uin;\n data.mid = this.mid;\n data.view = this.view;\n data.cmdb_module = 'mmbizwap';\n \n if (!!extData) {\n data = extend(data, extData);\n }\n \n if (data.cid) {\n data.key = \"[\" + data.cid + \"]:\" + data.key;\n }\n \n if (data._info) {\n if (Object.prototype.toString.call(data._info) == \"[object Object]\") {\n data.msg += \" || info:\" + JSON.stringify(data._info);\n } else if (Object.prototype.toString.call(data._info) == \"[object String]\") {\n data.msg += \" || info:\" + data._info;\n } else {\n data.msg += \" || info:\" + data._info;\n }\n }\n if (typeof this._hookCallback == \"function\") {\n if (this._hookCallback(data) === false) {\n return\n }\n }\n this._send(data);\n return _.BadJs;\n } catch (e) {\n console.error(e);\n }\n },\n winErr: function(event) {\n if (event.error && event.error.BADJS_EXCUTED) {\n return;\n }\n if (event.type === 'unhandledrejection') {\n if (event.reason instanceof Error) {\n var e = event.reason || {};\n _.BadJs.onError(createError(event.type, e.message || \"\", e.sourceURL || \"\", e.line || \"\", e.column || \"\", event.reason));\n } else {\n var message = typeof event.reason === 'object' ? JSON.stringify(event.reason) : event.reason;\n _.BadJs.onError(createError(event.type, message, \"\", \"\", \"\", event.reason));\n }\n }else{\n _.BadJs.onError(createError(BADJS_WIN_ERR, event.message, event.filename, event.lineno, event.colno, event.error));\n }\n },\n init: function(uin, mid, view) {\n this.uiLine truncated
"category": "",
"link": "https://mp.weixin.qq.com/s/xBkVJ0TIxPerLzM7YMST8Q",
"creator": "",
"pubDate": "2025-07-07T11:00:35.000Z",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "xBkVJ0TIxPerLzM7YMST8Q",
"language": "",
"folder": "IT技术",
"feed": "各种折腾",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "37e8086261b53a64d0e3494743fc98a7",
"highlights": []
},
{
"title": "Docker端口映射查看工具Dockpeek",
"description": "<!DOCTYPE html>\n<html class=\"\n\">\n <head>\n <meta name=\"wechat-enable-text-zoom-em\" content=\"true\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover\">\n<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico\" reportloaderror>\n<link rel=\"mask-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/MjliNWVm.svg\" color=\"#4C4C4C\" reportloaderror>\n<link rel=\"apple-touch-icon-precomposed\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png\" reportloaderror>\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n<meta name=\"format-detection\" content=\"telephone=no\">\n<meta name=\"referrer\" content=\"origin-when-cross-origin\">\n<meta name=\"referrer\" content=\"strict-origin-when-cross-origin\">\n<script nonce=\"390701321\" reportloaderror>try{document.getElementsByTagName('html').item(0).style.webkitTextSizeAdjust=JSON.parse(window.__wxWebEnv.getEnv()).fontScale+'%'}catch(e){}</script>\n<script type=\"text/javascript\" nonce=\"390701321\" reportloaderror>\n window.logs = { pagetime: {} };\n window.logs.pagetime['html_begin'] = (+new Date());\n window.LANG = \"en\";\n</script>\n\n \n<script nonce=\"390701321\" reportloaderror>\nwindow.__moon_initcallback = function () {\n if (!!window.__initCatch) {\n window.__initCatch({\n idkey: 27611 + 2,\n startKey: 0,\n limit: 128,\n badjsId: 43,\n reportOpt: {\n uin: '',\n biz: \"MzI1NTQxMzc3MA==\" || \"\",\n mid: \"2247509487\" || \"\" || \"\",\n idx: \"1\" || \"\" || \"\",\n sn: \"7aa81ad8b99aedb2de323aac72a57e1e\" || \"\" || \"\",\n },\n extInfo: {\n network_rate: 0.01, \n badjs_rate: 0.1\n }\n });\n }\n}\n</script>\n\n <script type=\"text/javascript\" nonce=\"390701321\" reportloaderror>\n \n \n var WX_BJ_REPORT = window.WX_BJ_REPORT || {};\n (function(_) {\n if (_.BadJs) {\n return;\n }\n \n var BADJS_WIN_ERR = 'BadjsWindowError';\n var extend = function(source, destination) {\n for (var property in destination) {\n source[property] = destination[property]\n }\n return source\n }\n \n _.BadJs = {\n uin: 0,\n mid: \"\",\n view: \"wap\",\n _cache: {},\n _info: {},\n _hookCallback: null,\n ignorePath: true,\n throw: function(e, extData) {\n this.onError(e, extData);\n throw e;\n },\n \n \n onError: function(e, extData) {\n try {\n \n if (e.BADJS_EXCUTED == true) {\n return;\n }\n e.BADJS_EXCUTED = true;\n var data = errToData(e);\n data.uin = this.uin;\n data.mid = this.mid;\n data.view = this.view;\n data.cmdb_module = 'mmbizwap';\n \n if (!!extData) {\n data = extend(data, extData);\n }\n \n if (data.cid) {\n data.key = \"[\" + data.cid + \"]:\" + data.key;\n }\n \n if (data._info) {\n if (Object.prototype.toString.call(data._info) == \"[object Object]\") {\n data.msg += \" || info:\" + JSON.stringify(data._info);\n } else if (Object.prototype.toString.call(data._info) == \"[object String]\") {\n data.msg += \" || info:\" + data._info;\n } else {\n data.msg += \" || info:\" + data._info;\n }\n }\n if (typeof this._hookCallback == \"function\") {\n if (this._hookCallback(data) === false) {\n return\n }\n }\n this._send(data);\n return _.BadJs;\n } catch (e) {\n console.error(e);\n }\n },\n winErr: function(event) {\n if (event.error && event.error.BADJS_EXCUTED) {\n return;\n }\n if (event.type === 'unhandledrejection') {\n if (event.reason instanceof Error) {\n var e = event.reason || {};\n _.BadJs.onError(createError(event.type, e.message || \"\", e.sourceURL || \"\", e.line || \"\", e.column || \"\", event.reason));\n } else {\n var message = typeof event.reason === 'object' ? JSON.stringify(event.reason) : event.reason;\n _.BadJs.onError(createError(event.type, message, \"\", \"\", \"\", event.reason));\n }\n }else{\n _.BadJs.onError(createError(BADJS_WIN_ERR, event.message, event.filename, event.lineno, event.colno, event.error));\n }\n },\n init: function(uin, mid, view) {\n this.uiLine truncated
"content": "<!DOCTYPE html>\n<html class=\"\n\">\n <head>\n <meta name=\"wechat-enable-text-zoom-em\" content=\"true\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover\">\n<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico\" reportloaderror>\n<link rel=\"mask-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/MjliNWVm.svg\" color=\"#4C4C4C\" reportloaderror>\n<link rel=\"apple-touch-icon-precomposed\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png\" reportloaderror>\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n<meta name=\"format-detection\" content=\"telephone=no\">\n<meta name=\"referrer\" content=\"origin-when-cross-origin\">\n<meta name=\"referrer\" content=\"strict-origin-when-cross-origin\">\n<script nonce=\"390701321\" reportloaderror>try{document.getElementsByTagName('html').item(0).style.webkitTextSizeAdjust=JSON.parse(window.__wxWebEnv.getEnv()).fontScale+'%'}catch(e){}</script>\n<script type=\"text/javascript\" nonce=\"390701321\" reportloaderror>\n window.logs = { pagetime: {} };\n window.logs.pagetime['html_begin'] = (+new Date());\n window.LANG = \"en\";\n</script>\n\n \n<script nonce=\"390701321\" reportloaderror>\nwindow.__moon_initcallback = function () {\n if (!!window.__initCatch) {\n window.__initCatch({\n idkey: 27611 + 2,\n startKey: 0,\n limit: 128,\n badjsId: 43,\n reportOpt: {\n uin: '',\n biz: \"MzI1NTQxMzc3MA==\" || \"\",\n mid: \"2247509487\" || \"\" || \"\",\n idx: \"1\" || \"\" || \"\",\n sn: \"7aa81ad8b99aedb2de323aac72a57e1e\" || \"\" || \"\",\n },\n extInfo: {\n network_rate: 0.01, \n badjs_rate: 0.1\n }\n });\n }\n}\n</script>\n\n <script type=\"text/javascript\" nonce=\"390701321\" reportloaderror>\n \n \n var WX_BJ_REPORT = window.WX_BJ_REPORT || {};\n (function(_) {\n if (_.BadJs) {\n return;\n }\n \n var BADJS_WIN_ERR = 'BadjsWindowError';\n var extend = function(source, destination) {\n for (var property in destination) {\n source[property] = destination[property]\n }\n return source\n }\n \n _.BadJs = {\n uin: 0,\n mid: \"\",\n view: \"wap\",\n _cache: {},\n _info: {},\n _hookCallback: null,\n ignorePath: true,\n throw: function(e, extData) {\n this.onError(e, extData);\n throw e;\n },\n \n \n onError: function(e, extData) {\n try {\n \n if (e.BADJS_EXCUTED == true) {\n return;\n }\n e.BADJS_EXCUTED = true;\n var data = errToData(e);\n data.uin = this.uin;\n data.mid = this.mid;\n data.view = this.view;\n data.cmdb_module = 'mmbizwap';\n \n if (!!extData) {\n data = extend(data, extData);\n }\n \n if (data.cid) {\n data.key = \"[\" + data.cid + \"]:\" + data.key;\n }\n \n if (data._info) {\n if (Object.prototype.toString.call(data._info) == \"[object Object]\") {\n data.msg += \" || info:\" + JSON.stringify(data._info);\n } else if (Object.prototype.toString.call(data._info) == \"[object String]\") {\n data.msg += \" || info:\" + data._info;\n } else {\n data.msg += \" || info:\" + data._info;\n }\n }\n if (typeof this._hookCallback == \"function\") {\n if (this._hookCallback(data) === false) {\n return\n }\n }\n this._send(data);\n return _.BadJs;\n } catch (e) {\n console.error(e);\n }\n },\n winErr: function(event) {\n if (event.error && event.error.BADJS_EXCUTED) {\n return;\n }\n if (event.type === 'unhandledrejection') {\n if (event.reason instanceof Error) {\n var e = event.reason || {};\n _.BadJs.onError(createError(event.type, e.message || \"\", e.sourceURL || \"\", e.line || \"\", e.column || \"\", event.reason));\n } else {\n var message = typeof event.reason === 'object' ? JSON.stringify(event.reason) : event.reason;\n _.BadJs.onError(createError(event.type, message, \"\", \"\", \"\", event.reason));\n }\n }else{\n _.BadJs.onError(createError(BADJS_WIN_ERR, event.message, event.filename, event.lineno, event.colno, event.error));\n }\n },\n init: function(uin, mid, view) {\n this.uin = Line truncated
"category": "",
"link": "https://mp.weixin.qq.com/s/PTjw74p0qW9rxiOytEWBXw",
"creator": "",
"pubDate": "2025-07-04T11:00:39.000Z",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "PTjw74p0qW9rxiOytEWBXw",
"language": "",
"folder": "IT技术",
"feed": "各种折腾",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "c8f37ade75a11813df0bcb7cf0bdd61a",
"highlights": []
},
{
"title": "极易搭建的自助Git服务Gogs",
"description": "<!DOCTYPE html>\n<html class=\"\n\">\n <head>\n <meta name=\"wechat-enable-text-zoom-em\" content=\"true\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover\">\n<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico\" reportloaderror>\n<link rel=\"mask-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/MjliNWVm.svg\" color=\"#4C4C4C\" reportloaderror>\n<link rel=\"apple-touch-icon-precomposed\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png\" reportloaderror>\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n<meta name=\"format-detection\" content=\"telephone=no\">\n<meta name=\"referrer\" content=\"origin-when-cross-origin\">\n<meta name=\"referrer\" content=\"strict-origin-when-cross-origin\">\n<script nonce=\"1458286864\" reportloaderror>try{document.getElementsByTagName('html').item(0).style.webkitTextSizeAdjust=JSON.parse(window.__wxWebEnv.getEnv()).fontScale+'%'}catch(e){}</script>\n<script type=\"text/javascript\" nonce=\"1458286864\" reportloaderror>\n window.logs = { pagetime: {} };\n window.logs.pagetime['html_begin'] = (+new Date());\n window.LANG = \"en\";\n</script>\n\n \n<script nonce=\"1458286864\" reportloaderror>\nwindow.__moon_initcallback = function () {\n if (!!window.__initCatch) {\n window.__initCatch({\n idkey: 27611 + 2,\n startKey: 0,\n limit: 128,\n badjsId: 43,\n reportOpt: {\n uin: '',\n biz: \"MzI1NTQxMzc3MA==\" || \"\",\n mid: \"2247509428\" || \"\" || \"\",\n idx: \"1\" || \"\" || \"\",\n sn: \"2f03e36fd2471c3ae2ca24971faca36e\" || \"\" || \"\",\n },\n extInfo: {\n network_rate: 0.01, \n badjs_rate: 0.1\n }\n });\n }\n}\n</script>\n\n <script type=\"text/javascript\" nonce=\"1458286864\" reportloaderror>\n \n \n var WX_BJ_REPORT = window.WX_BJ_REPORT || {};\n (function(_) {\n if (_.BadJs) {\n return;\n }\n \n var BADJS_WIN_ERR = 'BadjsWindowError';\n var extend = function(source, destination) {\n for (var property in destination) {\n source[property] = destination[property]\n }\n return source\n }\n \n _.BadJs = {\n uin: 0,\n mid: \"\",\n view: \"wap\",\n _cache: {},\n _info: {},\n _hookCallback: null,\n ignorePath: true,\n throw: function(e, extData) {\n this.onError(e, extData);\n throw e;\n },\n \n \n onError: function(e, extData) {\n try {\n \n if (e.BADJS_EXCUTED == true) {\n return;\n }\n e.BADJS_EXCUTED = true;\n var data = errToData(e);\n data.uin = this.uin;\n data.mid = this.mid;\n data.view = this.view;\n data.cmdb_module = 'mmbizwap';\n \n if (!!extData) {\n data = extend(data, extData);\n }\n \n if (data.cid) {\n data.key = \"[\" + data.cid + \"]:\" + data.key;\n }\n \n if (data._info) {\n if (Object.prototype.toString.call(data._info) == \"[object Object]\") {\n data.msg += \" || info:\" + JSON.stringify(data._info);\n } else if (Object.prototype.toString.call(data._info) == \"[object String]\") {\n data.msg += \" || info:\" + data._info;\n } else {\n data.msg += \" || info:\" + data._info;\n }\n }\n if (typeof this._hookCallback == \"function\") {\n if (this._hookCallback(data) === false) {\n return\n }\n }\n this._send(data);\n return _.BadJs;\n } catch (e) {\n console.error(e);\n }\n },\n winErr: function(event) {\n if (event.error && event.error.BADJS_EXCUTED) {\n return;\n }\n if (event.type === 'unhandledrejection') {\n if (event.reason instanceof Error) {\n var e = event.reason || {};\n _.BadJs.onError(createError(event.type, e.message || \"\", e.sourceURL || \"\", e.line || \"\", e.column || \"\", event.reason));\n } else {\n var message = typeof event.reason === 'object' ? JSON.stringify(event.reason) : event.reason;\n _.BadJs.onError(createError(event.type, message, \"\", \"\", \"\", event.reason));\n }\n }else{\n _.BadJs.onError(createError(BADJS_WIN_ERR, event.message, event.filename, event.lineno, event.colno, event.error));\n }\n },\n init: function(uin, mid, view) {\n thiLine truncated
"content": "<!DOCTYPE html>\n<html class=\"\n\">\n <head>\n <meta name=\"wechat-enable-text-zoom-em\" content=\"true\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover\">\n<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico\" reportloaderror>\n<link rel=\"mask-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/MjliNWVm.svg\" color=\"#4C4C4C\" reportloaderror>\n<link rel=\"apple-touch-icon-precomposed\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png\" reportloaderror>\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n<meta name=\"format-detection\" content=\"telephone=no\">\n<meta name=\"referrer\" content=\"origin-when-cross-origin\">\n<meta name=\"referrer\" content=\"strict-origin-when-cross-origin\">\n<script nonce=\"1458286864\" reportloaderror>try{document.getElementsByTagName('html').item(0).style.webkitTextSizeAdjust=JSON.parse(window.__wxWebEnv.getEnv()).fontScale+'%'}catch(e){}</script>\n<script type=\"text/javascript\" nonce=\"1458286864\" reportloaderror>\n window.logs = { pagetime: {} };\n window.logs.pagetime['html_begin'] = (+new Date());\n window.LANG = \"en\";\n</script>\n\n \n<script nonce=\"1458286864\" reportloaderror>\nwindow.__moon_initcallback = function () {\n if (!!window.__initCatch) {\n window.__initCatch({\n idkey: 27611 + 2,\n startKey: 0,\n limit: 128,\n badjsId: 43,\n reportOpt: {\n uin: '',\n biz: \"MzI1NTQxMzc3MA==\" || \"\",\n mid: \"2247509428\" || \"\" || \"\",\n idx: \"1\" || \"\" || \"\",\n sn: \"2f03e36fd2471c3ae2ca24971faca36e\" || \"\" || \"\",\n },\n extInfo: {\n network_rate: 0.01, \n badjs_rate: 0.1\n }\n });\n }\n}\n</script>\n\n <script type=\"text/javascript\" nonce=\"1458286864\" reportloaderror>\n \n \n var WX_BJ_REPORT = window.WX_BJ_REPORT || {};\n (function(_) {\n if (_.BadJs) {\n return;\n }\n \n var BADJS_WIN_ERR = 'BadjsWindowError';\n var extend = function(source, destination) {\n for (var property in destination) {\n source[property] = destination[property]\n }\n return source\n }\n \n _.BadJs = {\n uin: 0,\n mid: \"\",\n view: \"wap\",\n _cache: {},\n _info: {},\n _hookCallback: null,\n ignorePath: true,\n throw: function(e, extData) {\n this.onError(e, extData);\n throw e;\n },\n \n \n onError: function(e, extData) {\n try {\n \n if (e.BADJS_EXCUTED == true) {\n return;\n }\n e.BADJS_EXCUTED = true;\n var data = errToData(e);\n data.uin = this.uin;\n data.mid = this.mid;\n data.view = this.view;\n data.cmdb_module = 'mmbizwap';\n \n if (!!extData) {\n data = extend(data, extData);\n }\n \n if (data.cid) {\n data.key = \"[\" + data.cid + \"]:\" + data.key;\n }\n \n if (data._info) {\n if (Object.prototype.toString.call(data._info) == \"[object Object]\") {\n data.msg += \" || info:\" + JSON.stringify(data._info);\n } else if (Object.prototype.toString.call(data._info) == \"[object String]\") {\n data.msg += \" || info:\" + data._info;\n } else {\n data.msg += \" || info:\" + data._info;\n }\n }\n if (typeof this._hookCallback == \"function\") {\n if (this._hookCallback(data) === false) {\n return\n }\n }\n this._send(data);\n return _.BadJs;\n } catch (e) {\n console.error(e);\n }\n },\n winErr: function(event) {\n if (event.error && event.error.BADJS_EXCUTED) {\n return;\n }\n if (event.type === 'unhandledrejection') {\n if (event.reason instanceof Error) {\n var e = event.reason || {};\n _.BadJs.onError(createError(event.type, e.message || \"\", e.sourceURL || \"\", e.line || \"\", e.column || \"\", event.reason));\n } else {\n var message = typeof event.reason === 'object' ? JSON.stringify(event.reason) : event.reason;\n _.BadJs.onError(createError(event.type, message, \"\", \"\", \"\", event.reason));\n }\n }else{\n _.BadJs.onError(createError(BADJS_WIN_ERR, event.message, event.filename, event.lineno, event.colno, event.error));\n }\n },\n init: function(uin, mid, view) {\n this.uiLine truncated
"category": "",
"link": "https://mp.weixin.qq.com/s/eL0FL7l0NuILUZZB6EEyug",
"creator": "",
"pubDate": "2025-06-30T11:01:20.000Z",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "eL0FL7l0NuILUZZB6EEyug",
"language": "",
"folder": "IT技术",
"feed": "各种折腾",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "b54132b0681affd72262bc6384d424bf",
"highlights": []
},
{
"title": "微信公众号文章搜索MCP服务weixin_search_mcp",
"description": "<!DOCTYPE html>\n<html class=\"\n\">\n <head>\n <meta name=\"wechat-enable-text-zoom-em\" content=\"true\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover\">\n<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico\" reportloaderror>\n<link rel=\"mask-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/MjliNWVm.svg\" color=\"#4C4C4C\" reportloaderror>\n<link rel=\"apple-touch-icon-precomposed\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png\" reportloaderror>\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n<meta name=\"format-detection\" content=\"telephone=no\">\n<meta name=\"referrer\" content=\"origin-when-cross-origin\">\n<meta name=\"referrer\" content=\"strict-origin-when-cross-origin\">\n<script nonce=\"1287007689\" reportloaderror>try{document.getElementsByTagName('html').item(0).style.webkitTextSizeAdjust=JSON.parse(window.__wxWebEnv.getEnv()).fontScale+'%'}catch(e){}</script>\n<script type=\"text/javascript\" nonce=\"1287007689\" reportloaderror>\n window.logs = { pagetime: {} };\n window.logs.pagetime['html_begin'] = (+new Date());\n window.LANG = \"en\";\n</script>\n\n \n<script nonce=\"1287007689\" reportloaderror>\nwindow.__moon_initcallback = function () {\n if (!!window.__initCatch) {\n window.__initCatch({\n idkey: 27611 + 2,\n startKey: 0,\n limit: 128,\n badjsId: 43,\n reportOpt: {\n uin: '',\n biz: \"MzI1NTQxMzc3MA==\" || \"\",\n mid: \"2247509332\" || \"\" || \"\",\n idx: \"1\" || \"\" || \"\",\n sn: \"779ed7b6c46cc79a8f7de6a63ba2f4fe\" || \"\" || \"\",\n },\n extInfo: {\n network_rate: 0.01, \n badjs_rate: 0.1\n }\n });\n }\n}\n</script>\n\n <script type=\"text/javascript\" nonce=\"1287007689\" reportloaderror>\n \n \n var WX_BJ_REPORT = window.WX_BJ_REPORT || {};\n (function(_) {\n if (_.BadJs) {\n return;\n }\n \n var BADJS_WIN_ERR = 'BadjsWindowError';\n var extend = function(source, destination) {\n for (var property in destination) {\n source[property] = destination[property]\n }\n return source\n }\n \n _.BadJs = {\n uin: 0,\n mid: \"\",\n view: \"wap\",\n _cache: {},\n _info: {},\n _hookCallback: null,\n ignorePath: true,\n throw: function(e, extData) {\n this.onError(e, extData);\n throw e;\n },\n \n \n onError: function(e, extData) {\n try {\n \n if (e.BADJS_EXCUTED == true) {\n return;\n }\n e.BADJS_EXCUTED = true;\n var data = errToData(e);\n data.uin = this.uin;\n data.mid = this.mid;\n data.view = this.view;\n data.cmdb_module = 'mmbizwap';\n \n if (!!extData) {\n data = extend(data, extData);\n }\n \n if (data.cid) {\n data.key = \"[\" + data.cid + \"]:\" + data.key;\n }\n \n if (data._info) {\n if (Object.prototype.toString.call(data._info) == \"[object Object]\") {\n data.msg += \" || info:\" + JSON.stringify(data._info);\n } else if (Object.prototype.toString.call(data._info) == \"[object String]\") {\n data.msg += \" || info:\" + data._info;\n } else {\n data.msg += \" || info:\" + data._info;\n }\n }\n if (typeof this._hookCallback == \"function\") {\n if (this._hookCallback(data) === false) {\n return\n }\n }\n this._send(data);\n return _.BadJs;\n } catch (e) {\n console.error(e);\n }\n },\n winErr: function(event) {\n if (event.error && event.error.BADJS_EXCUTED) {\n return;\n }\n if (event.type === 'unhandledrejection') {\n if (event.reason instanceof Error) {\n var e = event.reason || {};\n _.BadJs.onError(createError(event.type, e.message || \"\", e.sourceURL || \"\", e.line || \"\", e.column || \"\", event.reason));\n } else {\n var message = typeof event.reason === 'object' ? JSON.stringify(event.reason) : event.reason;\n _.BadJs.onError(createError(event.type, message, \"\", \"\", \"\", event.reason));\n }\n }else{\n _.BadJs.onError(createError(BADJS_WIN_ERR, event.message, event.filename, event.lineno, event.colno, event.error));\n }\n },\n init: function(uin, mid, view) {\n thiLine truncated
"content": "<!DOCTYPE html>\n<html class=\"\n\">\n <head>\n <meta name=\"wechat-enable-text-zoom-em\" content=\"true\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover\">\n<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico\" reportloaderror>\n<link rel=\"mask-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/MjliNWVm.svg\" color=\"#4C4C4C\" reportloaderror>\n<link rel=\"apple-touch-icon-precomposed\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png\" reportloaderror>\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n<meta name=\"format-detection\" content=\"telephone=no\">\n<meta name=\"referrer\" content=\"origin-when-cross-origin\">\n<meta name=\"referrer\" content=\"strict-origin-when-cross-origin\">\n<script nonce=\"1287007689\" reportloaderror>try{document.getElementsByTagName('html').item(0).style.webkitTextSizeAdjust=JSON.parse(window.__wxWebEnv.getEnv()).fontScale+'%'}catch(e){}</script>\n<script type=\"text/javascript\" nonce=\"1287007689\" reportloaderror>\n window.logs = { pagetime: {} };\n window.logs.pagetime['html_begin'] = (+new Date());\n window.LANG = \"en\";\n</script>\n\n \n<script nonce=\"1287007689\" reportloaderror>\nwindow.__moon_initcallback = function () {\n if (!!window.__initCatch) {\n window.__initCatch({\n idkey: 27611 + 2,\n startKey: 0,\n limit: 128,\n badjsId: 43,\n reportOpt: {\n uin: '',\n biz: \"MzI1NTQxMzc3MA==\" || \"\",\n mid: \"2247509332\" || \"\" || \"\",\n idx: \"1\" || \"\" || \"\",\n sn: \"779ed7b6c46cc79a8f7de6a63ba2f4fe\" || \"\" || \"\",\n },\n extInfo: {\n network_rate: 0.01, \n badjs_rate: 0.1\n }\n });\n }\n}\n</script>\n\n <script type=\"text/javascript\" nonce=\"1287007689\" reportloaderror>\n \n \n var WX_BJ_REPORT = window.WX_BJ_REPORT || {};\n (function(_) {\n if (_.BadJs) {\n return;\n }\n \n var BADJS_WIN_ERR = 'BadjsWindowError';\n var extend = function(source, destination) {\n for (var property in destination) {\n source[property] = destination[property]\n }\n return source\n }\n \n _.BadJs = {\n uin: 0,\n mid: \"\",\n view: \"wap\",\n _cache: {},\n _info: {},\n _hookCallback: null,\n ignorePath: true,\n throw: function(e, extData) {\n this.onError(e, extData);\n throw e;\n },\n \n \n onError: function(e, extData) {\n try {\n \n if (e.BADJS_EXCUTED == true) {\n return;\n }\n e.BADJS_EXCUTED = true;\n var data = errToData(e);\n data.uin = this.uin;\n data.mid = this.mid;\n data.view = this.view;\n data.cmdb_module = 'mmbizwap';\n \n if (!!extData) {\n data = extend(data, extData);\n }\n \n if (data.cid) {\n data.key = \"[\" + data.cid + \"]:\" + data.key;\n }\n \n if (data._info) {\n if (Object.prototype.toString.call(data._info) == \"[object Object]\") {\n data.msg += \" || info:\" + JSON.stringify(data._info);\n } else if (Object.prototype.toString.call(data._info) == \"[object String]\") {\n data.msg += \" || info:\" + data._info;\n } else {\n data.msg += \" || info:\" + data._info;\n }\n }\n if (typeof this._hookCallback == \"function\") {\n if (this._hookCallback(data) === false) {\n return\n }\n }\n this._send(data);\n return _.BadJs;\n } catch (e) {\n console.error(e);\n }\n },\n winErr: function(event) {\n if (event.error && event.error.BADJS_EXCUTED) {\n return;\n }\n if (event.type === 'unhandledrejection') {\n if (event.reason instanceof Error) {\n var e = event.reason || {};\n _.BadJs.onError(createError(event.type, e.message || \"\", e.sourceURL || \"\", e.line || \"\", e.column || \"\", event.reason));\n } else {\n var message = typeof event.reason === 'object' ? JSON.stringify(event.reason) : event.reason;\n _.BadJs.onError(createError(event.type, message, \"\", \"\", \"\", event.reason));\n }\n }else{\n _.BadJs.onError(createError(BADJS_WIN_ERR, event.message, event.filename, event.lineno, event.colno, event.error));\n }\n },\n init: function(uin, mid, view) {\n this.uiLine truncated
"category": "",
"link": "https://mp.weixin.qq.com/s/mYn2xaoIVom9zptCMIxvLA",
"creator": "",
"pubDate": "2025-06-27T11:02:24.000Z",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "mYn2xaoIVom9zptCMIxvLA",
"language": "",
"folder": "IT技术",
"feed": "各种折腾",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "cec0b4ac495d75dcf0d0496c32a70cac",
"highlights": []
},
{
"title": "FeedMe:通过AI摘要提升阅读效率",
"description": "<!DOCTYPE html>\n<html class=\"\n\">\n <head>\n <meta name=\"wechat-enable-text-zoom-em\" content=\"true\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover\">\n<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico\" reportloaderror>\n<link rel=\"mask-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/MjliNWVm.svg\" color=\"#4C4C4C\" reportloaderror>\n<link rel=\"apple-touch-icon-precomposed\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png\" reportloaderror>\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n<meta name=\"format-detection\" content=\"telephone=no\">\n<meta name=\"referrer\" content=\"origin-when-cross-origin\">\n<meta name=\"referrer\" content=\"strict-origin-when-cross-origin\">\n<script nonce=\"1302581395\" reportloaderror>try{document.getElementsByTagName('html').item(0).style.webkitTextSizeAdjust=JSON.parse(window.__wxWebEnv.getEnv()).fontScale+'%'}catch(e){}</script>\n<script type=\"text/javascript\" nonce=\"1302581395\" reportloaderror>\n window.logs = { pagetime: {} };\n window.logs.pagetime['html_begin'] = (+new Date());\n window.LANG = \"en\";\n</script>\n\n \n<script nonce=\"1302581395\" reportloaderror>\nwindow.__moon_initcallback = function () {\n if (!!window.__initCatch) {\n window.__initCatch({\n idkey: 27611 + 2,\n startKey: 0,\n limit: 128,\n badjsId: 43,\n reportOpt: {\n uin: '',\n biz: \"MzI1NTQxMzc3MA==\" || \"\",\n mid: \"2247509240\" || \"\" || \"\",\n idx: \"1\" || \"\" || \"\",\n sn: \"73bc3f01b1302b5a0ba5c167baac416a\" || \"\" || \"\",\n },\n extInfo: {\n network_rate: 0.01, \n badjs_rate: 0.1\n }\n });\n }\n}\n</script>\n\n <script type=\"text/javascript\" nonce=\"1302581395\" reportloaderror>\n \n \n var WX_BJ_REPORT = window.WX_BJ_REPORT || {};\n (function(_) {\n if (_.BadJs) {\n return;\n }\n \n var BADJS_WIN_ERR = 'BadjsWindowError';\n var extend = function(source, destination) {\n for (var property in destination) {\n source[property] = destination[property]\n }\n return source\n }\n \n _.BadJs = {\n uin: 0,\n mid: \"\",\n view: \"wap\",\n _cache: {},\n _info: {},\n _hookCallback: null,\n ignorePath: true,\n throw: function(e, extData) {\n this.onError(e, extData);\n throw e;\n },\n \n \n onError: function(e, extData) {\n try {\n \n if (e.BADJS_EXCUTED == true) {\n return;\n }\n e.BADJS_EXCUTED = true;\n var data = errToData(e);\n data.uin = this.uin;\n data.mid = this.mid;\n data.view = this.view;\n data.cmdb_module = 'mmbizwap';\n \n if (!!extData) {\n data = extend(data, extData);\n }\n \n if (data.cid) {\n data.key = \"[\" + data.cid + \"]:\" + data.key;\n }\n \n if (data._info) {\n if (Object.prototype.toString.call(data._info) == \"[object Object]\") {\n data.msg += \" || info:\" + JSON.stringify(data._info);\n } else if (Object.prototype.toString.call(data._info) == \"[object String]\") {\n data.msg += \" || info:\" + data._info;\n } else {\n data.msg += \" || info:\" + data._info;\n }\n }\n if (typeof this._hookCallback == \"function\") {\n if (this._hookCallback(data) === false) {\n return\n }\n }\n this._send(data);\n return _.BadJs;\n } catch (e) {\n console.error(e);\n }\n },\n winErr: function(event) {\n if (event.error && event.error.BADJS_EXCUTED) {\n return;\n }\n if (event.type === 'unhandledrejection') {\n if (event.reason instanceof Error) {\n var e = event.reason || {};\n _.BadJs.onError(createError(event.type, e.message || \"\", e.sourceURL || \"\", e.line || \"\", e.column || \"\", event.reason));\n } else {\n var message = typeof event.reason === 'object' ? JSON.stringify(event.reason) : event.reason;\n _.BadJs.onError(createError(event.type, message, \"\", \"\", \"\", event.reason));\n }\n }else{\n _.BadJs.onError(createError(BADJS_WIN_ERR, event.message, event.filename, event.lineno, event.colno, event.error));\n }\n },\n init: function(uin, mid, view) {\n thiLine truncated
"content": "<!DOCTYPE html>\n<html class=\"\n\">\n <head>\n <meta name=\"wechat-enable-text-zoom-em\" content=\"true\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover\">\n<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/NTI4MWU5.ico\" reportloaderror>\n<link rel=\"mask-icon\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/MjliNWVm.svg\" color=\"#4C4C4C\" reportloaderror>\n<link rel=\"apple-touch-icon-precomposed\" href=\"//res.wx.qq.com/a/wx_fed/assets/res/OTE0YTAw.png\" reportloaderror>\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n<meta name=\"format-detection\" content=\"telephone=no\">\n<meta name=\"referrer\" content=\"origin-when-cross-origin\">\n<meta name=\"referrer\" content=\"strict-origin-when-cross-origin\">\n<script nonce=\"1302581395\" reportloaderror>try{document.getElementsByTagName('html').item(0).style.webkitTextSizeAdjust=JSON.parse(window.__wxWebEnv.getEnv()).fontScale+'%'}catch(e){}</script>\n<script type=\"text/javascript\" nonce=\"1302581395\" reportloaderror>\n window.logs = { pagetime: {} };\n window.logs.pagetime['html_begin'] = (+new Date());\n window.LANG = \"en\";\n</script>\n\n \n<script nonce=\"1302581395\" reportloaderror>\nwindow.__moon_initcallback = function () {\n if (!!window.__initCatch) {\n window.__initCatch({\n idkey: 27611 + 2,\n startKey: 0,\n limit: 128,\n badjsId: 43,\n reportOpt: {\n uin: '',\n biz: \"MzI1NTQxMzc3MA==\" || \"\",\n mid: \"2247509240\" || \"\" || \"\",\n idx: \"1\" || \"\" || \"\",\n sn: \"73bc3f01b1302b5a0ba5c167baac416a\" || \"\" || \"\",\n },\n extInfo: {\n network_rate: 0.01, \n badjs_rate: 0.1\n }\n });\n }\n}\n</script>\n\n <script type=\"text/javascript\" nonce=\"1302581395\" reportloaderror>\n \n \n var WX_BJ_REPORT = window.WX_BJ_REPORT || {};\n (function(_) {\n if (_.BadJs) {\n return;\n }\n \n var BADJS_WIN_ERR = 'BadjsWindowError';\n var extend = function(source, destination) {\n for (var property in destination) {\n source[property] = destination[property]\n }\n return source\n }\n \n _.BadJs = {\n uin: 0,\n mid: \"\",\n view: \"wap\",\n _cache: {},\n _info: {},\n _hookCallback: null,\n ignorePath: true,\n throw: function(e, extData) {\n this.onError(e, extData);\n throw e;\n },\n \n \n onError: function(e, extData) {\n try {\n \n if (e.BADJS_EXCUTED == true) {\n return;\n }\n e.BADJS_EXCUTED = true;\n var data = errToData(e);\n data.uin = this.uin;\n data.mid = this.mid;\n data.view = this.view;\n data.cmdb_module = 'mmbizwap';\n \n if (!!extData) {\n data = extend(data, extData);\n }\n \n if (data.cid) {\n data.key = \"[\" + data.cid + \"]:\" + data.key;\n }\n \n if (data._info) {\n if (Object.prototype.toString.call(data._info) == \"[object Object]\") {\n data.msg += \" || info:\" + JSON.stringify(data._info);\n } else if (Object.prototype.toString.call(data._info) == \"[object String]\") {\n data.msg += \" || info:\" + data._info;\n } else {\n data.msg += \" || info:\" + data._info;\n }\n }\n if (typeof this._hookCallback == \"function\") {\n if (this._hookCallback(data) === false) {\n return\n }\n }\n this._send(data);\n return _.BadJs;\n } catch (e) {\n console.error(e);\n }\n },\n winErr: function(event) {\n if (event.error && event.error.BADJS_EXCUTED) {\n return;\n }\n if (event.type === 'unhandledrejection') {\n if (event.reason instanceof Error) {\n var e = event.reason || {};\n _.BadJs.onError(createError(event.type, e.message || \"\", e.sourceURL || \"\", e.line || \"\", e.column || \"\", event.reason));\n } else {\n var message = typeof event.reason === 'object' ? JSON.stringify(event.reason) : event.reason;\n _.BadJs.onError(createError(event.type, message, \"\", \"\", \"\", event.reason));\n }\n }else{\n _.BadJs.onError(createError(BADJS_WIN_ERR, event.message, event.filename, event.lineno, event.colno, event.error));\n }\n },\n init: function(uin, mid, view) {\n this.uiLine truncated
"category": "",
"link": "https://mp.weixin.qq.com/s/jFPxZMLSKIxsBa72VhwVhg",
"creator": "",
"pubDate": "2025-06-23T11:00:24.000Z",
"enclosure": "",
"enclosureType": "",
"image": "",
"id": "jFPxZMLSKIxsBa72VhwVhg",
"language": "",
"folder": "IT技术",
"feed": "各种折腾",
"read": false,
"favorite": false,
"created": false,
"tags": [],
"hash": "9d4d7122028a361937c754b38d2b7578",
"highlights": []
}
],
"folder": "双语",