<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>CNode：Node.js专业中文社区</title><link>https://cnodejs.org</link><language>zh-cn</language><description>CNode：Node.js专业中文社区</description><item><title>稳定好用的魔法梯子推荐：最佳翻墙机场节点梯子VPN免费分享，PC手机科学上外网加速器</title><link>https://cnodejs.org/topic/6a19468bf4e680ea7c475ec5</link><guid>https://cnodejs.org/topic/6a19468bf4e680ea7c475ec5</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;&lt;strong&gt;这里分享几个稳定、快速、安全、便宜的机场推荐，安卓苹果手机梯子和PC电脑Windows系统都能用的翻墙软件梯子工具，提供 Shadowsocks、ShadowsocksR、VMess、VLESS（Reality）、Trojan、Hysteria 多种协议，支持 Clash、Clash Verge、ClashX、Shadowrocket（小火箭）、Stash（Clash for iOS）、Quantumult X（圈叉）、Surge、V2rayN、sing-box 等多种流行的翻墙客户端，所有机场都支持Clash节点一键导入Clash客户端使用，无论是Netflix奈飞、Disney迪士尼、HBO、Hulu、YouTube油管等流媒体解锁还是注册Gemini、Claude等AI模型，甚至上外网网络游戏加速的需求，都能完美解决，供大家参考。2026年稳定机场推荐外网梯子工具分享，本文将总结我在国内近几年使用，稳定、可靠、稳定正规翻墙机场节点VPN梯子，并根据稳定性、连接速度、客户端易用性和服务器线路数量的综合排名，分享国内手机电脑都好用的稳定魔法梯子VPN软件。&lt;/strong&gt;
&lt;img src=&quot;https://community.iotex.io/uploads/default/original/2X/0/0de584571a98d3edc100138ae15bdcc304c168f8.jpeg&quot; alt&gt;&lt;/p&gt;
&lt;h2&gt;爬外网AI 流媒体梯子机场推荐&lt;/h2&gt;
&lt;h3&gt;1.YAFA机场 稳定机场推荐首选&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://affg.cc/yafa&quot;&gt;&lt;strong&gt;点击直达官网&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;YAFA机场加速器是一家专注于Shadowsocks翻墙节点和V2ray翻墙节点。由海外团队运营，提供隧道中转与IPLC专线，一键导入支持Clash、Shadowrocket、小火箭等翻墙插件。&lt;/p&gt;
&lt;p&gt;YAFA机场节点有：台湾、新加坡、日本、美国、香港、马来西亚、韩国、法国等&lt;/p&gt;
&lt;p&gt;可解锁流资源：ChatGPT、Disney+、Netflix、TikTok等&lt;/p&gt;
&lt;h3&gt;2.疾风机场 性价比机场推荐&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://affg.cc/jife&quot;&gt;&lt;strong&gt;点击直达官网&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;疾风机场是一家创立于2022年的机场服务商，由海外团队运营，翻墙协议采用流行的 Shadowsocks 协议，国内有多个电信运营商入口，IEPL 专线节点。&lt;/p&gt;
&lt;p&gt;疾风机场节点除了常用的香港、日本、新加坡、美国节点外，还有一些小众冷门地区节点提供。&lt;/p&gt;
&lt;p&gt;可解锁流资源：ChatGPT、Disney+、Netflix、TikTok等&lt;/p&gt;
&lt;h3&gt;3.EWAN机场 高速VPN梯子机场推荐&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://affg.cc/ewan&quot;&gt;&lt;strong&gt;点击直达官网&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;EWAN机场加速器是一家专注于ShadowsocksR翻墙节点和V2ray翻墙节点。由海外团队运营，使用SSR和V2ray协议，一键导入支持Clash、Shadowrocket、小火箭等翻墙插件。&lt;/p&gt;
&lt;p&gt;EWAN机场节点有：台湾、新加坡、日本、美国、香港、马来西亚、韩国、法国&lt;/p&gt;
&lt;p&gt;可解锁流资源：ChatGPT、Disney+、Netflix、TikTok等&lt;/p&gt;
&lt;p&gt;这三款机场梯子软件是非常适合手机电脑使用的，而且对于电商直播更是流畅且稳定科学上网加速器软件，不会影响直播工作。 同时也是非常适合中国大陆使用的加速器梯子软件。三款价格不一，选择自己需要的就好。&lt;/p&gt;
&lt;p&gt;梯子推荐 #翻墙机场 #翻墙机场推荐 #SS/SSR机场 机场加速器购买 #V2ray机场梯子 #Trojan机场 #Clash节点VPN #好用的便宜梯子 #翻墙梯子 #高性价比梯子 #稳定梯子推荐 #手机电脑梯子 #外网梯子 #魔法梯子 #AI梯子机场&lt;/p&gt;
&lt;/div&gt;</description><author>acsor</author><pubDate>Fri, 29 May 2026 07:55:55 GMT</pubDate></item><item><title>7款好用的梯子软件推荐-PC电脑梯子加速器免费和外网电脑手机梯子全攻略</title><link>https://cnodejs.org/topic/6a191836f4e680b5e6475eb1</link><guid>https://cnodejs.org/topic/6a191836f4e680b5e6475eb1</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;&lt;strong&gt;有没有好用的梯子？这是很多朋友在需要访问外网时最常问的问题。无论是刷YouTube、Netflix追剧、用ChatGPT工作，还是日常科学上网，一款稳定、快速、好用的梯子软件都至关重要。面对越来越复杂的网络环境，PC电脑梯子加速器免费资源虽然有，但真正长期好用的还是要选靠谱的付费机场。本文结合用户真实需求，为大家精选一批高性价比、稳定可靠的外网电脑和手机梯子推荐，支持Windows、Mac、Android、iOS全平台，帮你轻松解决翻墙难题。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;以下这些梯子服务均支持主流协议（Shadowsocks、V2Ray、Clash、SingBox、Trojan等），提供专线或优化中转线路，在高峰期也能保持稳定高速连接，适合长期科学上网的用户。&lt;/p&gt;
&lt;h1&gt;1.Westworld —— 高性价比首选好用的梯子软件&lt;/h1&gt;
&lt;p&gt;官网地址：&lt;a href=&quot;https://free99bai.com/i/xy023&quot;&gt;https://free99bai.com/i/xy023&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Westworld是目前性价比极高的梯子之一，在平价基础上提供卓越速度和稳定性。它对Netflix、YouTube、HBO Max、Twitter、ChatGPT等主流外网平台解锁表现优秀，几乎能满足所有日常需求。 支持Clash、v2ray、sing-box等客户端，一键订阅即可在PC电脑、Android手机、iOS设备上使用，是很多用户主力推荐的梯子软件。&lt;/p&gt;
&lt;h2&gt;2.迷城云 —— 专线稳定·流媒体解锁强&lt;/h2&gt;
&lt;p&gt;迷城云采用全专线网络，提供专业可靠的代理服务。节点对奈飞（Netflix）、Disney+、HBO Max等流媒体，以及ChatGPT、Gemini、Claude等AI工具解锁支持出色。 支持多种订阅周期，支付宝、微信支付方便，订阅链接可直接导入全平台客户端，适合追求稳定外网体验的用户。&lt;/p&gt;
&lt;h2&gt;3.丝巾云 —— 稳定可靠的备用/主力梯子&lt;/h2&gt;
&lt;p&gt;丝巾云以稳定性和性价比著称，采用国内中转+专线节点，即使在敏感时期也能保持良好连接。对Netflix、Disney+、TikTok、ChatGPT等解锁支持优秀，既能当主力使用，也适合作为备用梯子。 PC和Android推荐用Clash客户端；iOS用户可搭配Shadowrocket或Stash，整体体验流畅，是追求“不出问题”的用户的理想选择。&lt;/p&gt;
&lt;h2&gt;4.Fen网络加速器 —— IEPL专线高端梯子&lt;/h2&gt;
&lt;p&gt;Fen专注于高质量IEPL专线服务，提供一键导入、无审计、零日志的安全保障。支持Netflix、YouTube、Disney+、ChatGPT、TikTok等全平台解锁，还有企业定制套餐可选。 支付宝、微信支付便捷，适合对速度和隐私有较高要求的用户。&lt;/p&gt;
&lt;h2&gt;5.Wegay —— 海外团队高端稳定梯子&lt;/h2&gt;
&lt;p&gt;由海外团队运营的高端梯子服务，特别适合外贸从业者、开发者等长期需要稳定外网的用户。支持Trojan等先进协议，利用BGP+亚马逊Global Accelerator专线加速，速度快、延迟低。 新用户可享8折优惠，是追求顶级稳定体验的首选之一。&lt;/p&gt;
&lt;h2&gt;6.素云梯 —— 海量节点·灵活选择&lt;/h2&gt;
&lt;p&gt;素云梯拥有海量SSR/V2Ray节点，包含国内中转和专线，提供高倍率（更快更稳）和低倍率（更经济）两种选择。用户可根据实际流量需求灵活切换，是节点丰富、适合不同使用场景的好用梯子软件。&lt;/p&gt;
&lt;h2&gt;7.V2RAYDOG —— 精品专线·性价比高&lt;/h2&gt;
&lt;p&gt;V2RAYDOG凭借精品专线和V2Ray协议的稳定性迅速获得好评。国内多接入点保证高速连接，对Netflix、Disney+等流媒体解锁优秀。无论个人用户还是企业用户，都能找到合适方案，是性价比机场中的佼佼者。&lt;/p&gt;
&lt;h2&gt;如何选择适合自己的PC电脑和手机梯子？&lt;/h2&gt;
&lt;p&gt;追求免费/低成本：可以先试用部分机场的试用套餐或低价月付，但长期建议选择性价比高的付费梯子，避免免费梯子速度慢、不稳定、甚至有安全风险。
PC电脑梯子加速器：推荐Clash for Windows或v2rayN等客户端，配置简单，速度表现好。
手机梯子：Android可用Clash Meta，iOS推荐Shadowrocket/Stash。
核心需求：优先看节点稳定性、流媒体解锁能力、客服响应和退款政策。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;网络环境变化快，选择一个真正好用的梯子软件能省去很多麻烦。以上推荐的这些外网电脑和手机梯子，覆盖了从高性价比到高端专线的不同需求，总有一款适合你。建议根据自己的预算和使用场景先选1-2个试用，找到最匹配的那一个。&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;</description><author>riesscoriaty622</author><pubDate>Fri, 29 May 2026 04:38:14 GMT</pubDate></item><item><title>分享一个纯浏览器端图片批量处理工具，支持工具链串联 + 本地 AI（WebGPU/WASM），文件不离开本地</title><link>https://cnodejs.org/topic/6a18fa14f4e680627b475e9b</link><guid>https://cnodejs.org/topic/6a18fa14f4e680627b475e9b</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;最近做了一个图片批量处理工具 &lt;a href=&quot;https://bulkpictools.com&quot;&gt;bulkpictools.com&lt;/a&gt;，分享给有需要的同学。
背景
开发过程中经常需要批量处理图片：证件照压缩到指定 KB、App 图标批量导出多尺寸、电商主图加水印……市面上的工具要么限制单文件，要么需要上传到云端（隐私问题），要么几个操作分散在多个网站来回倒腾。
做了什么
核心是一个「工具链串联」功能：
上传200张图 → 批量压缩 → 转WebP → 裁剪1:1 → 下载
整个流程一次上传，结果直接流入下一个工具，不需要重复操作。
技术实现&lt;/p&gt;
&lt;p&gt;图片处理：Canvas API + WebWorkers（不阻塞主线程）
本地 AI（背景移除、人脸模糊）：ONNX Runtime Web，跑在 WebGPU / WASM 上，没有云端 API 调用
格式转换（HEIC/AVIF/WebP/SVG 等）：纯客户端，零上传
框架：Nuxt 3&lt;/p&gt;
&lt;p&gt;可以打开 DevTools → Network，验证没有图片数据发出去。
支持的操作（40+ 个工具）
压缩、格式转换（HEIC / AVIF / WebP / SVG）、裁剪、旋转、加水印、背景移除、人脸模糊、精确压缩到指定 KB……
另外有几个场景页面直接打包好工作流：证件照、App图标导出、电商主图、社交媒体尺寸。
适合哪些场景&lt;/p&gt;
&lt;p&gt;批量处理资源图，不想一张张来
敏感图片（身份证、合同截图）不想传到云端
没有 PS / Photoshop，需要快速完成简单图片操作&lt;/p&gt;
&lt;p&gt;地址：&lt;a href=&quot;https://bulkpictools.com&quot;&gt;BulkPicTools&lt;/a&gt;，免费，无需注册。
欢迎试用，有 bug 或建议欢迎留言 &lt;/p&gt;
&lt;/div&gt;</description><author>kbmjj123</author><pubDate>Fri, 29 May 2026 02:29:40 GMT</pubDate></item><item><title>PC电脑梯子哪个好用-稳定安全的PC电脑梯子推荐和电脑跨境加速器免费试用指南</title><link>https://cnodejs.org/topic/6a0ea313f4e6807923475dc2</link><guid>https://cnodejs.org/topic/6a0ea313f4e6807923475dc2</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;&lt;strong&gt;还在为PC电脑梯子哪个好用而纠结？面对复杂的网络环境，选择一款稳定安全的PC电脑梯子至关重要。本文聚焦Windows/Mac电脑用户实际需求，精选多款高口碑电脑跨境加速器，从速度、稳定性、安全性、解锁能力等多维度进行对比推荐。同时附上PC梯子推荐免费试用方案，帮助你快速找到适合自己的长期稳定工具，轻松实现跨境办公、追剧、AI工具使用等场景的无障碍访问。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;在PC端使用梯子时，用户最关心的是稳定性、连接速度、安全性和易用性。不同于移动端，电脑往往承担更重的使用任务，如长时间视频会议、AI生成、大文件传输或多标签网页浏览，因此需要选择支持高并发、协议成熟、节点优化的电脑跨境加速器。以下是从实际用户反馈和性能表现中筛选出的优质选项，每款都结合PC使用场景进行深度分析。&lt;/p&gt;
&lt;h2&gt;1.Westworld机场—— PC电脑梯子的稳定之选&lt;/h2&gt;
&lt;p&gt;官网地址：&lt;a href=&quot;https://fast6699.com/i/xy026&quot;&gt;https://fast6699.com/i/xy026&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Westworld机场专注于提供可靠蕃墙服务。采用广东入口 + IEPL专线结合隧道中转的混合架构，后端智能负载均衡，能有效分散压力，确保PC端长时间连接不掉线。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PC端核心优势：&lt;/strong&gt;
✔支持Shadowsocks协议，兼容Clash for Windows、V2RayN等主流PC客户端，导入订阅后一键连接
✔超过35个节点覆盖澳大利亚、香港、台湾、日本、美国、英国等地，落地商包括家宽线路，✔延迟低、速度稳
✔完全支持UDP协议，适合PC端游戏加速或视频会议
✔严格安全策略：屏蔽高风险端口，同时保护用户隐私
✔不限制设备连接数，是追求稳定安全的PC电脑梯子的可靠选择。&lt;/p&gt;
&lt;h2&gt;2.掌中宝机场 —— 流量隐藏技术强悍的隐私守护者&lt;/h2&gt;
&lt;p&gt;掌中宝机场重金投入IPLC内网专线，并对传输算法进行深度优化，带来极致流畅体验。其最大亮点是先进流量隐藏技术，将跨境流量伪装成普通网页浏览，有效规避干扰。
在PC端使用时，这项技术特别实用，能让你的电脑在复杂网络环境下保持低调稳定，适合对隐私和反检测要求较高的用户（如内容创作者、跨境电商从业者）。连接速度爽快，适合长时间挂机使用，是PC梯子推荐免费试用后值得留下的选项之一。&lt;/p&gt;
&lt;h2&gt;3.WestData机场 —— 高性价比Trojan协议代表&lt;/h2&gt;
&lt;p&gt;WestData机场成立于2023年，全部节点采用Trojan协议 + BGP多线接入 + 国际IPLC专线，兼顾速度与稳定性。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;突出亮点（PC用户重点关注）：&lt;/strong&gt;
✔支持Netflix、Hulu、HBO、Disney+ 等流媒体解锁，以及ChatGPT畅通访问
✔最高500Mbps速率 + 800GB月流量，满足PC端4K/8K追剧和AI大模型使用需求
✔最便宜套餐仅需20元/月，性价比极高
✔支持支付宝和USDT支付，订阅方便&lt;/p&gt;
&lt;p&gt;Trojan协议在PC客户端上兼容性优秀，连接成功率高、资源占用低，是预算有限但想要稳定安全的PC电脑梯子用户的首选之一。平台明确仅限个人使用，注重合规体验。&lt;/p&gt;
&lt;h2&gt;4.飞云机场 —— 协议丰富 + 灵活套餐的实用型选手&lt;/h2&gt;
&lt;p&gt;飞云机场提供SSR和V2Ray等多种协议选择，节点包含中转与IPLC内网专线，后者在敏感时期表现出色。套餐分为入门、基础、标准、旗舰版，可根据PC使用强度（流量需求、设备数量）灵活挑选。
平台标注流量倍率并提供优惠码，帮助用户避坑选优。在PC电脑梯子哪个好用的对比中，它的优势在于协议兼容性强，几乎支持所有主流PC客户端（Clash、V2RayN、Nekobox等），适合老鸟自定义配置，也适合新手一键导入。&lt;/p&gt;
&lt;h2&gt;5.红桃机场 —— 多设备高速解锁全能型&lt;/h2&gt;
&lt;p&gt;红桃机场以高速、安全、便捷著称，1000Mbps高速节点覆盖美国、日本、台湾、香港、新加坡等重点区域。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PC端表现抢眼：&lt;/strong&gt;
✔稳定解锁Netflix、HBO Max、Disney+、YouTube Premium、ChatGPT等主流服务
✔支持Clash for Windows等客户端，云端自动更新订阅，免去手动维护烦恼
✔军事级加密 + 不记录日志 + 隐藏真实IP，公共网络或公司电脑使用也安心
✔Lite套餐适合轻度PC用户尝鲜，Pro套餐适合重度用户或家庭多电脑场景
✔电脑跨境加速器需要兼顾速度与隐私时，一枝红杏是值得重点考虑的对象。&lt;/p&gt;
&lt;p&gt;PC端通用选购与使用建议：
速度与稳定性：优先选IEPL/IPLC专线产品，晚高峰表现更好。
安全性：Trojan、Shadowsocks等成熟协议更值得信赖。
免费试用：多数机场提供小流量免费体验或优惠码，建议先在PC上实测延迟和解锁情况再决定。
客户端推荐：Windows用Clash Meta或V2RayN，Mac用ClashX，均支持全局/分应用代理模式。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;综上，PC电脑梯子哪个好用最终取决于你的核心需求，建议结合PC梯子推荐免费试用通道，实际测试后再长期订阅。使用稳定安全的PC电脑梯子和电脑跨境加速器时，请遵守当地法律法规，保护个人账号与数据安全。&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;</description><author>vwjujfyo3n</author><pubDate>Thu, 21 May 2026 06:15:47 GMT</pubDate></item><item><title>国内最佳稳定梯子魔法上网推荐：亲测三款手机PC电脑外网翻墙机场节点VPN科学上网</title><link>https://cnodejs.org/topic/6a0c00f2f4e680e3de475d90</link><guid>https://cnodejs.org/topic/6a0c00f2f4e680e3de475d90</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;本文收录的机场均由我本人真实付费并深度使用超过 3 个月，严格拒绝任何搬运官网宣传的行为，确保入选节点都经过了晚高峰 4K 测速的实效审核。为了保障连接质量，我已剔除了所有售后响应缓慢或口碑不稳的潜在“跑路型”服务商，仅保留出口带宽充足且严选 IEPL 专线的优质线路。基于过去一年实现“零断网”的实战经验，我建议采用“2 个主力 + 1 个备用不限时流量包”的冗余方案，助你根据个人预算精准锁定最稳定、便宜的加速选择。选对一款好用的 PC 电脑梯子，能让你的工作效率和娱乐体验提升数倍。&lt;img src=&quot;//static.cnodejs.org/FuoO-izPTX8RZrbQ8eqZCWB7moI9&quot; alt=&quot;data-2723105_1920.jpg&quot;&gt;&lt;/p&gt;
&lt;h2&gt;2026 年机场应该怎么选？&lt;/h2&gt;
&lt;p&gt;用了好几年机场，踩了一堆坑之后才想明白：选机场不是看参数表，是看你能不能接受它特定的翻车方式。每家机场都会出问题，没有例外。区别只在什么时候出、出多久、你有没有备用。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;难点一：为什么晚高峰总是卡顿？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;根本原因在于带宽的过度共享。平价中转机场通常采用“低成本、高并发”模型：一条出口带宽由数千名用户共用。白天由于在线人数少，体感速度尚可；一旦进入晚高峰，有限的带宽被平摊，导致连接速度跌至 KB 级别，YouTube 画质也被迫降至 480P。我曾体验过月费仅 6 元的机场，这就是典型的“白天飞秒开，晚上秒回 2G”，其廉价的本质是以极高的人机比和带宽压缩换取的。 &lt;strong&gt;怎么选：&lt;/strong&gt; 若追求晚高峰的稳定性，应优先选择 IEPL 专线机场（线路独立，不受公网拥堵影响），或在下单前确认服务商提供的是「独享带宽」而非超量超售的「共享带宽」。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;难点二：节点全红、完全连不上是怎么回事？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;通常并非机场彻底关停，而是国内入口 IP 遭到了通报封锁。机场运作依赖国内的“接入点”中转流量，一旦该入口 IP 被封，即便海外节点正常，用户也会因“入口被堵”而导致节点全红或官网无法访问。由于更换 IP 和域名通常需要数小时甚至数天的维护周期，这段时间便会陷入断网僵局。在 2025 年 7 月至 9 月期间，我曾亲历主力机场连续三天入口失效，全靠提前配置的备用机场才渡过难关。 &lt;strong&gt;怎么选：&lt;/strong&gt; 确保主力与备用机场的入口类型具备差异化（例如分别采用移动骨干网与电信 BGP 线路），降低同时被封锁的概率。同时，务必囤一个“不限时流量包”作为应急底牌。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;难点三：如何判断一家机场是否存在跑路风险？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;虽然没有万无一失的判断标准，但可以通过以下“红旗信号”进行预判：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;折扣力度极度反常（如买一年送一年、全场一折起）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Telegram 频道长期静默，或仅发布营销推广而无任何技术维护公告。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;在第三方独立论坛（如 NodeSeek、V2EX）搜索不到任何真实用户的正面评价。 通常情况下，运营超过两年、拥有活跃社区群组且在技术论坛有公开讨论度的机场，其信誉度远高于名不见经传的新型机场。 &lt;strong&gt;怎么选：&lt;/strong&gt; 面对新机场，坚持“先月付、后年付”的原则，试用 1-2 个月确认稳定后再升级套餐，避免因大额投入年付包而导致跑路后的损失翻倍。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;我的搭 配逻辑：&lt;/strong&gt; 主力机场锁定 &lt;strong&gt;IEPL 专线&lt;/strong&gt;，彻底告别晚高峰卡顿；备用方案则选用&lt;strong&gt;不限时流量包&lt;/strong&gt;，并确保其接入点网络与主力机场互补（如移动 vs 电信），规避因入口遭通报而导致的同时断网。此外，我会通过不同的 Telegram 圈子获取情报，确保两家机场的口碑来源完全不交叉，从源头上降低因同一运营方或同一波“跑路潮”导致的彻底失联。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;机场那些坑，买多了才知道：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;节点虚假繁荣：&lt;/strong&gt; 很多机场看似节点众多，实际上国内入口或海外落地高度复用，一旦出现波动便会“全军覆没”。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;孤注一掷：&lt;/strong&gt; 只信任一家机场是高风险行为，在入口被堵时会导致完全没有退路。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;盲目年付：&lt;/strong&gt; 贪图折扣购买大流量年付套餐，往往会在机场跑路时面临损失翻倍的惨重后果。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;记住这条真理：&lt;/strong&gt; 机场始终遵循“便宜不好用，好用不便宜”的市场逻辑。你所选择的每一家廉价机场，本质上都在&lt;strong&gt;速度、稳定性、生存寿命&lt;/strong&gt;这三者中至少牺牲了一项——这是一个没有例外的“三选一”权衡。&lt;/p&gt;
&lt;h1&gt; 推荐机场档案&lt;/h1&gt;
&lt;h2&gt;**1. 扬帆云 (Yawtt)**直连 + 家宽 + 综合 体验最强&lt;/h2&gt;
&lt;h1&gt;&lt;a href=&quot;https://ml.yfqz1.net/register?code=lh2wcH94&quot;&gt;点击直达官网&lt;/a&gt;&lt;/h1&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;项目&lt;/th&gt;
&lt;th&gt;详情&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;开业时间&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;2022 年&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;老板肉身&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;境外（专业海外团队运营）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;入口与过境&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;国内核心运营商入口 + IEPL 专线链路&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;节点地区&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;香港、台湾、日本、新加坡、美国、泰国、德国、英国、荷兰等&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;落地 ISP&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;包含大量高质量原生 IP 资源&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;协议&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Shadowsocks (SS)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;流媒体解锁&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;完美解锁 Netflix / Disney+ / YouTube / ChatGPT / TikTok&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;付款方式&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;支付宝 / 微信 / USDT&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;客户端支持&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Windows / Mac / Android / iOS&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;专线保障&lt;/strong&gt;：拥有遍布全球的CN2 GIA/BGP/IPLC内网专线等优质线路节点，抗封锁永不掉线&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;极佳落地&lt;/strong&gt;：支持主流客户端SSR/V2Ray订阅链接，拥有丰富的原生 IP 资源，非常适合需要刷 TikTok 或使用海外支付工具的用户。&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;兼容性王&lt;/strong&gt;：所有付费节点均可解锁奈飞NetFlix/HULU/HBO/Disney等国外流媒体&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;套餐分明&lt;/strong&gt;：流量吃到饱，套餐档次分明，按 需 购 买&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2&gt;** 2. 优信云(Youxin Cloud) **多档位套餐+ 不限时大流量包+ 性价比最强&lt;/h2&gt;
&lt;h1&gt;&lt;a href=&quot;https://www.youxin66.net/#/register?code=qLccSKeZ&quot;&gt;点击直达官网&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;|项目|详情| | :— | :— | | &lt;strong&gt;开业时间&lt;/strong&gt; | 2023 年| | &lt;strong&gt;老板肉身&lt;/strong&gt; |境外| | &lt;strong&gt;入口与过境&lt;/strong&gt; |香港过境| | &lt;strong&gt;节点地区&lt;/strong&gt; |香港、台湾、日本、新加坡、美国、韩国、英国、德国等| | **落地ISP ** | Sakura Link Limited、&lt;a href=&quot;http://Amazon.com&quot;&gt;Amazon.com&lt;/a&gt; (AWS) | | &lt;strong&gt;协议&lt;/strong&gt; | Vless + Hysteria2 | | &lt;strong&gt;流媒体解锁&lt;/strong&gt; | AI 全解锁· Netflix / Disney+ / YouTube Premium | | &lt;strong&gt;审计情况&lt;/strong&gt; |无审计| | &lt;strong&gt;付款方式&lt;/strong&gt; |支付宝/ 微信/ USDT | | &lt;strong&gt;客户端支持&lt;/strong&gt; | Windows / Mac / Android / iOS / 软路由|&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;技术领先&lt;/strong&gt;：部署Vless + Hysteria2 协议组合，在复杂网络环境下提速表现优异。*   ✅ &lt;strong&gt;低延迟表现&lt;/strong&gt;：实测平均延迟仅为52ms，可用率维持在94% 以上。*   ✅ &lt;strong&gt;全能解锁&lt;/strong&gt;：完美解锁AI 工具与流媒体，且额外附赠EMBY 影音库福利。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2&gt;&lt;strong&gt;3. 星辰加速器&lt;/strong&gt; IEPL/IPLC +极 具 性 价 比&lt;/h2&gt;
&lt;h1&gt;&lt;a href=&quot;http://c.xcvpn.me/?code=UqfcuMem&quot;&gt;点击进入官网&lt;/a&gt;&lt;/h1&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;项目&lt;/th&gt;
&lt;th&gt;详情&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;开业时间&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;2023 年&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;老板肉身&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;境外&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;入口与过境&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;唯亚直连 / 中转混合线路&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;节点地区&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;香港、台湾、日本、新加坡、美国、韩国、德国、英国等&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;节点数量&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;40+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;协议&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Shadowsocks (SS)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;设备限制&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;限制 3-5 台设备&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;流媒体解锁&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;支持 Netflix / Disney+ / YouTube Premium&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;付款方式&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;支付宝 / 微信&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;客户端支持&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Windows / Mac / Android / iOS&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;快速入门&lt;/strong&gt;：界面设计直观简洁，即便是新手也能实现快速配置。&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;多协议兼容&lt;/strong&gt;：深度优化 SS 协议，在不同移动网络环境下均能保持高连接成功率。&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;价格亲民&lt;/strong&gt;：提供灵活的小额流量套餐，非常适合轻度用户或作为备用储备。&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;选择策略&lt;/h1&gt;
&lt;p&gt;用了这么多年梯子，我总结出这 &lt;strong&gt;「2 个主力 + 1 个备用」&lt;/strong&gt; 的组合方案。这也是我过去一年实现 &lt;strong&gt;0 断网&lt;/strong&gt; 的底层逻辑。&lt;/p&gt;
&lt;h3&gt;为什么不能只买一家机场？&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;入口封锁风险&lt;/strong&gt;：即使是稳定性极高的机场，国内接入点（入口）也会面临被通报封锁的可能。修复过程通常需要数小时甚至数天，期间你会陷入彻底失联。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;晚高峰拥堵&lt;/strong&gt;：平价机场在高峰期常因带宽共享导致严重降速。多准备一家机场，意味着在晚高峰网络拥塞时，你拥有更多的提速选择空间。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;跑路风险&lt;/strong&gt;：不要将所有鸡蛋放在一个篮子里。保持多线备份，即便遇到某家供应商突然关停，你依然有充裕的时间寻找替代品，而不会因突发断网导致工作中断。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;警 惕 网 上所谓“免费VPN加速器”，“免费机场节点”,“免费梯子”&lt;/h3&gt;
&lt;p&gt;所谓“免费VPN加速器”，“免费机场节点”，“[免费梯子]”很少有可靠的，省钱没错，但不假思索地使用来源不可靠的网站上分享的东西，会给你上网带来风险，你的上网隐私可能被泄漏，流量经过恶意服务器，还可能被破解，你可能丢失敏感信息，如密码，验证码，银行账号等。不是说所有免费的东西都这样，但在你安装客户端或把它们导入配置之前请慎重。&lt;/p&gt;
&lt;h2&gt;免责声明&lt;/h2&gt;
&lt;p&gt;本文根据各大机场和梯子公开的信息进行收集和整理，也都实际的购买测试过，只分享信息和使用心得，不构成任何购买建议。本文内容仅供外贸商务、学术研究及合法娱乐参考。请务必遵守当地法律法规，严禁利用此类工具从事违法活动。&lt;/p&gt;
&lt;p&gt;2026翻墙机场 #机场推荐 #SS/SSR机场 机场加速器购买 #V2ray机场梯子 #Trojan机场 #Clash节点VPN #翻墙加速器 #好用的便宜梯子 #翻墙梯子 #高性价比梯子 #稳定梯子推荐 #手机电脑梯子 #外网梯子 #魔法梯子 #VPN梯子 #AI梯子 #2026梯子推荐 #翻墙机场 #机场推荐 #SS/SSR/机场 #机场加速器购买 #V2ray机场梯子 #Trojan机场 #Clash节点 #好用的便宜梯子 #翻墙梯子 #VPN梯子 #稳定梯子 #手机电脑梯子 #外网梯子 #外贸梯子 #油管梯子 #魔法梯子 #梯子加速**&lt;/p&gt;
&lt;/div&gt;</description><author>clashaaa</author><pubDate>Tue, 19 May 2026 06:19:30 GMT</pubDate></item><item><title>魔法外网梯子推荐丨Clash机场节点丨稳定好用的手机PC电脑VPN</title><link>https://cnodejs.org/topic/6a00aceef4e680c831475c45</link><guid>https://cnodejs.org/topic/6a00aceef4e680c831475c45</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;&lt;strong&gt;2026年稳定好用的国内翻墙梯子首选Clash节点机场，完全替代了传统的VPN梯子加速器。适用于全平台Clash客户端使用，包括 Clash for Windows、Clash Verge、ClashX、FIClash、Shadowrocket、v2rayN、sing-box 等多种翻墙软件，这些Clash节点机场提供了Clash和shadowrocket节点订阅地址链接，可一键导入使用。节点机场并非VPN加速器，但是比VPN加速器更加适合用来翻墙和科学上网使用。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;本文推荐的翻墙机场梯子都是有一定知名度的大机场，或者说是一线机场、主流机场、性价比机场。大机场一般技术更为成熟，线路比较稳定，跑路的风险也低，同时也能很好的支持解锁 Netflix、Disney+ 流媒体，提供 ChatGPT Gemini Claude等AI代理访问等等。机场采用专用的穿墙技术而非传统的 VPN 协议，辅以规则模式分流，相比 ExpressVPN 等傻瓜式一键 VPN 更为智能，稳定性和速度表现都更好，能够最大程度地满足大家的科学上网需求。可以说机场节点是当前最适合大多数人的翻墙方式。&lt;/p&gt;
&lt;h2&gt;Clash机场节点推荐标准&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Clash节点插件&lt;/strong&gt;:Clash机场其实不局限于 Clash GUI 客户端，还支持 Surge、Quantumult X、Surfboard 等等。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;免费梯子风险&lt;/strong&gt;：网上搜索的免费vpn梯子，或者免费分享的ss/ssr节点，有非常大的安全隐患，常看到由于挂梯子被处罚的大多是使用了此类免费梯子，若想安全流畅使用还是付费机场梯子；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;线路节点选择&lt;/strong&gt;：选购Clash机场时，主要是看线路，其次才是节点数量，尽量选择IPLC/IEPL内网专线、BGP多入口中转（总体线路质量：华为云内网专线&amp;gt;IEPL内网专线&amp;gt;CN2&amp;gt;普通公网普通中转），在保证能流畅看视频前提下，稳定性最重要，其次才是速度；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;流量倍率区别&lt;/strong&gt;：注意每个翻墙机场套餐的倍率，x2意味着使用1G流量算2G流量，依此类推10倍率的（虽然不太可能）可能流量一下子就没了，所以并不是套餐包含的流量越多越好；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;机场跑路风险&lt;/strong&gt;：机场跑路时有发生。为避免遭遇跑路机场的风险，尽量选择月付/季付，不要轻易购买年付套餐，也尽量选择运营多年的老牌机场；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;关于备用机场&lt;/strong&gt;：没有100%稳定的机场！ 如果你是科学上网高频用户，经济允许的话最好多买个备用梯子，以免某些特殊时期影响使用；&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;好用的Clash机场推荐（2026年持续更新中）&lt;/h2&gt;
&lt;p&gt;精选好用的Clash机场，根据这些翻墙机场节点梯子工具推荐标准，为大家挑选几款最好用的国内科学上网VPN梯子加速器。它们都在各自站内提供了手机和电脑挂梯子的工具如何下载、安装、购买注册和使用的教程&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;科学上网机场排行&lt;/th&gt;
&lt;th&gt;热门指数&lt;/th&gt;
&lt;th&gt;官网地址&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;扬帆云机场&lt;/td&gt;
&lt;td&gt;⭐⭐⭐⭐⭐⭐&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://affg.cc/yafa&quot;&gt;扬帆云官网地址&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;尔湾云机场&lt;/td&gt;
&lt;td&gt;⭐⭐⭐⭐⭐⭐&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://affg.cc/ewan&quot;&gt;尔湾云官网地址&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;速云梯机场&lt;/td&gt;
&lt;td&gt;⭐⭐⭐⭐⭐⭐&lt;/td&gt;
&lt;td&gt;速云梯官网地址&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;优信云机场&lt;/td&gt;
&lt;td&gt;⭐⭐⭐⭐⭐⭐&lt;/td&gt;
&lt;td&gt;优信云官网地址&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;疾风云机场&lt;/td&gt;
&lt;td&gt;⭐⭐⭐⭐⭐&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://affg.cc/jife&quot;&gt;疾风云官网地址&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;青云梯机场&lt;/td&gt;
&lt;td&gt;⭐⭐⭐⭐⭐&lt;/td&gt;
&lt;td&gt;青云梯官网地址&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h3&gt;1.扬帆云机场-最佳Clash机场梯子推荐&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://affg.cc/yafa&quot;&gt;&lt;strong&gt;点击直达官网&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;扬帆云机场成立于2023年是知名老牌机场旗下新开的专线便宜机场梯子工具魔法上网加速器，提供V2Ray节点，支持Clash节点一键导入使用，主打优质低价便宜机场，机场推荐翻墙节点使用IPLC专线，包括日本、台湾、香港、马来西亚、法国、韩国等8个国家和地区，支持支付宝和微信支付。节点支持解锁 Tiktok、Gemini、ChatGPT、流媒体解锁包括 Netflix、Disney+、HBO 等。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;BGP中转线路和 IPLC 内网专线提供&lt;/li&gt;
&lt;li&gt;Shadowsocks 和 V2ray （vmess）多协议&lt;/li&gt;
&lt;li&gt;Netflix、Disney+、TikTok、ChatGPT、Gemini全解锁，实测晚高峰4K秒开&lt;/li&gt;
&lt;li&gt;提供永久有效按流量计费套餐&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;新老用户任意套餐年付七折优惠，优惠码：618&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;支持24小时不满意退款服务&lt;/li&gt;
&lt;li&gt;24小时在线客服，响应迅速&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://affg.cc/yafa&quot;&gt;&lt;img src=&quot;https://community-all-backup.s3.dualstack.us-east-1.amazonaws.com/original/2X/b/b0845043595d29dfe22c88645f930f0939ce3b9b.jpeg&quot; alt&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;扬帆云机场测速&lt;/h4&gt;
&lt;p&gt;&lt;img src=&quot;https://community-all-backup.s3.dualstack.us-east-1.amazonaws.com/original/2X/5/583ef0c7f37f0518311c76ad8129b37e375babd1.jpeg&quot; alt&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;2.尔湾云机场-国内高性价比梯子&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://affg.cc/ewan&quot;&gt;&lt;strong&gt;点击直达官网&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;BGP中转线路和 IPLC 内网专线提供&lt;/li&gt;
&lt;li&gt;Shadowsocks 和 V2ray （vmess）多协议&lt;/li&gt;
&lt;li&gt;Netflix、Disney+、TikTok、ChatGPT 全解锁&lt;/li&gt;
&lt;li&gt;订阅有效期内&lt;strong&gt;流量跨月不清零&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;支持24小时不满意退款服务&lt;/li&gt;
&lt;li&gt;24小时在线客服，响应迅速&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;尔湾云 Erwan Cloud，是一家 2022 年成立的机场，境外专业团队运营，非 oneman 个人小机场，线路有公网隧道中转和 IPLC 专线，节点覆盖美国、俄罗斯、日本、意大利、台湾、香港等地，协议支持 ShadowsocksR 和 Vmess。&lt;/p&gt;
&lt;p&gt;尔湾云运营多年，带宽冗余充足，晚高峰时观看4K表现流畅无卡顿，支持解锁 Netflix、Disney+ 和 ChatGPT 等流行服务。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://discuss.d2l.ai/uploads/default/original/3X/2/7/279ab82cfb748e31fc2770a5d4636204f59179a5.jpeg&quot; alt&gt;&lt;/p&gt;
&lt;h4&gt;尔湾云机场测速&lt;/h4&gt;
&lt;p&gt;&lt;img src=&quot;https://discuss.d2l.ai/uploads/default/original/3X/f/1/f116ef944a12bbe8df463ad527d67bb2a95f7f94.jpeg&quot; alt&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;3.速云梯机场-最稳定的机场节点梯子&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;点击直达官网&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;多年老牌机场，稳定可靠&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;BGP中转线路和 IPLC 内网专线提供&lt;/li&gt;
&lt;li&gt;Shadowsocks 和 V2ray 协议&lt;/li&gt;
&lt;li&gt;全节点支持流媒体解锁，适合各类用户需求&lt;/li&gt;
&lt;li&gt;支持24小时不满意退款服务&lt;/li&gt;
&lt;li&gt;24小时在线客服，响应迅速&lt;/li&gt;
&lt;li&gt;常年有优惠活动，目前年付七折&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;速云梯机场是运营5年以上的老牌机场，稳定可靠国内用户众多，支持 SSR 和 V2ray 协议，有中转和 IPLC 专线网络，节点数量比较多，使用时需要慢慢筛选，节点命名标注了相关倍率，使用时建议选择低倍率节点。官方常年都有优惠活动，下单时请记得输入优惠码。&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;4.优信云机场-专线机场推荐&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;点击直达官网&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;BGP中转线路和 IPLC 内网专线提供，多达130+节点线路&lt;/li&gt;
&lt;li&gt;Shadowsocks 和 Trojan 抗封锁强&lt;/li&gt;
&lt;li&gt;Netflix、Disney+等国际流媒体与TikTok、ChatGPT 全解锁&lt;/li&gt;
&lt;li&gt;超高性价比，包月仅 18 元，100GB 流量&lt;/li&gt;
&lt;li&gt;支持 24 小时不满意退款，降低试错成本&lt;/li&gt;
&lt;li&gt;官网领取活动折扣码可参与85折优惠&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;优信云机场加速器，提供抗封锁能力强的 Trojan 协议翻墙机场节点，支持企业个性化定制，支持一键导入支持 Clash、Shadowrocket、小火箭等翻墙插件。优信云机场拥有130多条线路，节点众多分布广泛。可解锁流媒体包括 ChatGPT、Disney+、Netflix、TikTok 等。&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;5.疾风云机场-速度最快的机场梯子&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://affg.cc/jife&quot;&gt;&lt;strong&gt;点击直达官网&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;BGP中转线路和 IPLC 内网专线提供&lt;/li&gt;
&lt;li&gt;Shadowsocks 和 V2ray （vmess）多协议&lt;/li&gt;
&lt;li&gt;Netflix、Disney+等国际流媒体与TikTok、ChatGPT 全解锁&lt;/li&gt;
&lt;li&gt;优惠活动多，&lt;strong&gt;目前提供全场七折&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;24小时在线客服提供技术支持&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;疾风云机场于2023年开始运营以来备受用户信赖。机场提供多节点支持，适用于 SSR、Trojan、V2Ray 等主流协议，支持 Shadowrocket、Clash 等客户端一键导入，使用非常便捷。特别适合于解锁 Netflix、Hulu 等国际流媒体，同时还能流畅访问 ChatGPT 等应用。&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;6.青云梯加速器-不限制设备数机场&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;点击直达官网&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Shadowsocks协议，协议兼容性好&lt;/li&gt;
&lt;li&gt;公网/IPLC/IEPL混合网络抗封锁&lt;/li&gt;
&lt;li&gt;支持&lt;strong&gt;不限速和无限设备数&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;提供按流量计费流量包和定制服务&lt;/li&gt;
&lt;li&gt;Netflix、Disney+、ChatGPT和TikTok解锁出色&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;青云梯机场（青云加速器）于 2023 年开始运营的机场，采用 Shadowsocks 协议，有公网中转、IPLC 和 IEPL 专线，节点覆盖亚、美、欧等大陆常用地区。机场套餐支持不限设备数、不限时长按量付费，也提供定制选项，适用于多种人群的上网需求。&lt;/p&gt;
&lt;h2&gt;不建议使用的VPN梯子&lt;/h2&gt;
&lt;p&gt;蓝灯(Lantern)、赛风一类的免费VPN梯子已经不好用了，因此并不在我们的科学上网机场梯子推荐之列。从Github的开源页面看来，这些VPN甚至早已停止了维护。&lt;/p&gt;
&lt;p&gt;而实际使用体验也是如此，几年前就有很多用户都反应蓝灯连不上了。虽然多年以前蓝灯一度是很多人使用的免费翻墙工具，但如今早已跌落神坛，成为了大家的记忆。&lt;/p&gt;
&lt;p&gt;另外，一些国外知名的VPN并不适应中国环境，因为它们更注重安全性，没有考虑伪装流量的VPN协议，因此无法绕过防火长城。Astrill VPN虽然能在中国连接成功，但是价格太贵，客户端又丑又难用。以下VPN经过我的测试无法在中国使用：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Private Internet Access&lt;/li&gt;
&lt;li&gt;CyberGhost&lt;/li&gt;
&lt;li&gt;IPVanish&lt;/li&gt;
&lt;li&gt;StrongVPN&lt;/li&gt;
&lt;li&gt;HideMyAss&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;国内免费梯子是个大坑，稂莠不齐，有些甚至是钓鱼VPN，专门用来搜集国内翻墙用户的数据信息，你的所有浏览数据都会被记录下来，有朝一日可能会成为你喝茶的门票。其中Turbo VPN、快连VPN、酷鸟浏览器、老王VPN、蚂蚁VPN等都存在钓鱼嫌疑。&lt;/p&gt;
&lt;h2&gt;付费梯子和免费梯子怎么选？&lt;/h2&gt;
&lt;p&gt;首先说，国内翻墙专用的免费梯子工具根本就不存在，毕竟在中国VPN梯子销售属于违法行为，如果没有利益可图没人会冒这么大的风险。&lt;/p&gt;
&lt;p&gt;而国外的免费VPN梯子本来就不好用，可以说大多数”免费VPN排行榜”中推荐的VPN梯子根本无法绕过防火长城。而且天下没有免费的午餐，免费VPN总是会通过其他途径来盈利。大部分的做法是通过免费VPN来引流，通过销售手段来诱导用户购买付费套餐，这种算是比较良心的了。&lt;/p&gt;
&lt;p&gt;另外的免费VPN则是通过弹窗广告盈利，如果一不小心点击了广告链接，会面临很多未知的安全风险。更有甚者，会在免费梯子中植入病毒，并窃取用户账号信息。以下免费VPN无法在中国使用，请不要在这上面浪费时间：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://Hide.me&quot;&gt;Hide.me&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;ProtonVPN&lt;/li&gt;
&lt;li&gt;Windscribe&lt;/li&gt;
&lt;li&gt;Tunnelbear&lt;/li&gt;
&lt;li&gt;VPN Gate&lt;/li&gt;
&lt;li&gt;ProtonVPN&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;付费梯子是我推荐的最稳定长期的选择，有利可图才会有翻墙机场运营商积极升级技术。即便是国外商家，也会逐渐重视中国市场，推出它们专属的翻墙节点协议。付费梯子也不会存在广告和病毒等安全风险，相反它们甚至会提供相应的广告过滤功能。&lt;/p&gt;
&lt;p&gt;解锁流媒体、玩游戏、种子下载、无带宽限制这些服务都只有好用的付费梯子才能提供，遇到节点被墙、梯子连不上、速度慢、不稳定都可以利用备用节点继续科学上网，或者可以联系24/7在线客服解决。&lt;/p&gt;
&lt;h2&gt;国内机场梯子推荐常见问题&lt;/h2&gt;
&lt;h3&gt;哪些网站在中国需要翻墙？&lt;/h3&gt;
&lt;p&gt;在中国防火长城封锁了许多国外知名网站，必须借助好用的翻墙和科学上网工具才能访问。以下是一些被墙的国外网站，这只是冰山一角：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Google&lt;/li&gt;
&lt;li&gt;Google Play&lt;/li&gt;
&lt;li&gt;Gmail&lt;/li&gt;
&lt;li&gt;Instagram&lt;/li&gt;
&lt;li&gt;Facebook&lt;/li&gt;
&lt;li&gt;Twitter&lt;/li&gt;
&lt;li&gt;YouTube&lt;/li&gt;
&lt;li&gt;Whatsapp&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;有很多工具可以测试某个网站是否被墙，最直接的方式就是在浏览器上直接访问这个网站，如果长时间无法访问，则可以判断被墙了。而修改本地Host文件访问被墙网站的方法也不太好用了，现在都是直接封IP。&lt;/p&gt;
&lt;h3&gt;在中国使用VPN违法吗?&lt;/h3&gt;
&lt;p&gt;可以很明确的回答，是的。有明确的法律规定，中国已经全面禁止翻墙软件，使用VPN属于违法行为。&lt;/p&gt;
&lt;p&gt;当然，现实情况是，在中国VPN用户大有人在，外贸电商、在华外国人、回国华人、写代码/搞科研查资料的人都需要好用的科学上网梯子，这些用途其实也为了帮助工作、生活和学习。只要不在网上发表政治言论，一般不会遭到处罚，不过偶尔还是有倒霉的用户因使用VPN被罚。&lt;/p&gt;
&lt;p&gt;当然，在中国私建机场，然后出售给其他人这个问题就严重了。每年都会有人因为开发出售翻墙软件入狱的新闻，千万不要抱着侥幸心理。在知乎上甚至有因为出售建站主机被抓的案例。&lt;/p&gt;
&lt;h3&gt;为什么不推荐国内VPN？&lt;/h3&gt;
&lt;p&gt;在2017年之前，在中国VPN的处境并没有如此艰难，你可以在百度、应用商店搜索下载APP软件。但在这之后情况急转直下，工信部发布了禁止国内公司/个人未经允许提供VPN服务的规定。GreenVPN被迫关闭/停止服务、蓝灯/赛风相继被封，使用翻墙软件被抓的新闻也层出不穷。&lt;/p&gt;
&lt;p&gt;这也是我不推荐国内梯子的原因，很可能前脚购买了VPN，后脚VPN就不好用、连不上了，联系客服也无人回应。别问我是怎么知道的，我已经踩过很多坑了。而且这些VPN服务商一旦被查，你使用VPN过程中的浏览记录都会上交，增加了潜在的喝茶风险。&lt;/p&gt;
&lt;h3&gt;自己搭建梯子怎么样？&lt;/h3&gt;
&lt;p&gt;防火长城GFW对普通的VPN封杀很严格，于是很多热心网友开发了Shadowsocks（SSR）、V2Ray、Trojan等协议，还有最新的Wireguard，很多IT技术人员也开始搭建梯子自用。通过阅读网上的教程，然后购买租用国外VPS，就能够搭建自己的翻墙工具。&lt;/p&gt;
&lt;p&gt;当然我并不推荐所有人使用这种方法。首先这需要你具备一定的技术经验，如果你不懂Linux操作系统，那么搭建过程起来可能不像我所描述的那么简单，毕竟隔行如隔山。&lt;/p&gt;
&lt;p&gt;即便是技术人员，也需要面对防火长城GFW升级的问题，原来好用的VPN协议，现在可能无法使用了。前几天还能正常连接的IP，现在无法Ping不通了。&lt;/p&gt;
&lt;p&gt;一旦IP被封，购买VPN服务器或者换IP都需要花钱。而使用付费梯子则可以避免这些麻烦，不用自己搭建机场节点服务器，不用配置客户端，还有大量备用IP可以切换使用。最后，价格还比自己搭建梯子便宜。&lt;/p&gt;
&lt;h2&gt;国内科学上网机场科普&lt;/h2&gt;
&lt;h3&gt;什么是机场梯子&lt;/h3&gt;
&lt;p&gt;机场节点梯子是提供科学上网服务的网络供应商，其主要服务项目是提供Shadowsocks、V2ray、Trojan等翻墙协议的节点服务器。这些机场因早期使用Shadowsocks和ShadowsocksR（简写为SS/SSR）协议，而小飞机又是Shadowsocks软件的图标，因此得名“机场”。这些节点服务器订阅文件输入到“飞机”里，就是可以帮助用户绕过网络封锁的“航线”。
什么是VPN&lt;/p&gt;
&lt;p&gt;VPN（虚拟私人网络）是一种内置了加密通讯协议的客户端，用于保护个人数字通讯隐私和数据加密，它的协议设计并不是为了翻墙。
当用户连接到VPN服务器时，所有的网络数据都会通过加密隧道传输，这意味着即使在公共Wi-Fi网络上，黑客也难以窃取用户的敏感信息，如密码、个人信息和银行数据。VPN在移动设备上尤为重要，因为它可以防止在公共Wi-Fi上连接时受到数据泄露和网络攻击。&lt;/p&gt;
&lt;h3&gt;机场和VPN的区别&lt;/h3&gt;
&lt;p&gt;当谈到机场和VPN的区别时，虽然它们都可用于科学上网，但在功能和使用方面存在明显区别：&lt;/p&gt;
&lt;p&gt;首先，机场的主要目的是为了翻墙，因此对线路节点做了协议优化，以实现更适合大数据高速传输的效果。这使得在访问被限制的网站时，机场相比VPN在数据传输速度和稳定性方面表现更出色。&lt;/p&gt;
&lt;p&gt;其次，专业VPN在数据加密防护方面拥有极高的级别，保障用户的数字通讯隐私。然而，对于普通用户来说，机场使用的TLS加密协议已足够满足基本隐私保护需求，尤其考虑到与VPN相比，机场在数据传输速度上具有显著优势。&lt;/p&gt;
&lt;p&gt;对于中国大陆用户，机场采用了动态分流自动均衡规则，智能地区分境内境外的IP访问路径，并针对节点服务器的压力进行智能分配，从而保证了访问速度。相比之下，VPN的高级别加密处理所有的访问链接，可能影响网路浏览体验。&lt;/p&gt;
&lt;p&gt;最后，使用方式也有区别。VPN通常需要安装不同供应商开发的软件才能使用，而机场只需将节点订阅链接复制到喜欢的开源软件即可。这使得用户能够灵活地随时切换不同机场节点，实现更高效和便捷的上网体验。&lt;/p&gt;
&lt;h3&gt;机场节点梯子的主要优点&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;性价比高&lt;/strong&gt;： 这些机场梯子加速器价格相比 ExpressVPN这些便宜很多，但并不意味着节点梯子服务质量不行，恰恰相反，我们购买同样或更低价格的套餐（使用折扣优惠码），可以获得这些便宜机场梯子的顶级套餐，延迟低、速度快的香港、台湾、日本、韩国、新加坡等地VPN节点都能用，而 ExpressVPN 提供给中国大陆翻墙用户的节点延迟都偏高，有时候需要等待很长时间才能连接到VPN服务器。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;稳定性好&lt;/strong&gt;：这些魔法上网的梯子加速器都采用专门的翻墙协议，可以有效地抗防火长城的封锁，如果你之前没有听说过 Shadowsocks、V2ray、Trojan 这些词汇，相信我，使用过这些节点梯子之后一定会惊艳到你。这些翻墙协议专门针对防火长城开发，有专门的开发者进行更新迭代，相比传统的VPN万年不更新一次线路和协议，优势就不言而喻了。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;速度快&lt;/strong&gt;：这些翻墙机场不仅有针对性的VPN协议，线路节点也是经过优化的，使用对中国国内友好的翻墙线路，延迟低、速度快，甚至部分翻墙梯子采用内网专线进行网络加速，不经过 GFW 防火长城，即使是敏感时期，当使用其他家VPN的线路被封锁时，专线翻墙加速器依然可以畅享高速的Google、youtube等上外网浏览体验。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;节点覆盖全&lt;/strong&gt;：这些翻墙VPN梯子重视中国用户，提供的也是中国用户喜欢的VPN服务器节点：香港、台湾、日本、韩国、新加坡、美国机场服务器节点，可解锁当地 Netflix、HBO、Disney+ 等流媒体服务，甚至有的会提供 土耳其、阿根廷、巴基斯坦、菲律宾 等小众梯子节点，帮助用户以极低的价格去购买 Netflix、Steam、Spotify 等服务。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;客户端支持好&lt;/strong&gt;：这些翻墙VPN即拥有自己开发的VPN客户端，用户也可以自由的选择流行的第三方翻墙客户端，全部适用于手机和PC电脑下载安装，通过导入订阅链接的方式使用，非常快速方便。Windows、Mac、Android 用户推荐使用 Clash 小猫咪梯子 客户端， iOS 用户推荐使用 Shadowrocket 小火箭梯子 或者 Stash。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;国内VPN梯子使用技巧&lt;/h2&gt;
&lt;h3&gt;如何选择国内机场节点&lt;/h3&gt;
&lt;p&gt;并不是所有机场节点都好用，像欧洲节点连接速度就非常慢，除非有特殊需求，比如解锁英国、德国流媒体网站等，否则我不推荐这些翻墙节点。&lt;/p&gt;
&lt;p&gt;最常用的肯定是台湾和香港IP节点。而美国IP节点虽然延迟高一点，但是平时用的人少些，并且节点众多，因此也是不错的选择。&lt;/p&gt;
&lt;p&gt;一般来说肯定是离国内距离较近的节点速度越快，不过凡是不能太绝对，遇到高峰时期、特殊时期，切换到一些距离较远的节点或许效果更佳。&lt;/p&gt;
&lt;h3&gt;备用梯子&lt;/h3&gt;
&lt;p&gt;据我所知，身边经常使用翻墙机场节点的朋友，都同时使用2款以上的魔法外网梯子。没有哪款梯子VPN能保证全年100%的连通率，不管是防火长城升级还是内部技术原因。都会偶尔出现某款梯子连不上的情况，但是2款节点机场同时连不上的几率就很低了。我平时主要使用扬帆云机场的时间比较多，其他几款好用的梯子一般是来回切换着用。&lt;/p&gt;
&lt;/div&gt;</description><author>urwatch</author><pubDate>Sun, 10 May 2026 16:06:06 GMT</pubDate></item><item><title>最新机场梯子推荐：两款稳定好用的翻墙机场和魔法外网梯子，手机电脑PC科学上网首选</title><link>https://cnodejs.org/topic/6a0097c5f4e6808c9a475c24</link><guid>https://cnodejs.org/topic/6a0097c5f4e6808c9a475c24</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;2026越来越多国内用户选择通过使用科学外网梯子工具（如SSR、V2Ray、Clash、Shadowrocket等节点机场翻墙VPN梯子）来突破网络封锁、保护隐私并加速科学上网体验。为了确保用户可以获得最佳的魔法梯子网络体验，选择合适的翻墙机场订阅节点非常重要。本文将为您推荐一些优质的稳定靠谱外网梯子VPN服务，帮助您轻松选择最佳的Clash、小火箭节点。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://community-all-backup.s3.dualstack.us-east-1.amazonaws.com/original/2X/8/8af723c41acb7906ec74d7490ed3a727c131f3be.jpeg&quot; alt&gt;&lt;/p&gt;
&lt;h2&gt;最佳翻墙梯子选择标准&lt;/h2&gt;
&lt;p&gt;在选择SSR、V2Ray、Clash或Shadowrocket等小火箭节点订阅梯子时，以下几个因素是我们需要特别关注的：&lt;/p&gt;
&lt;p&gt;翻墙机场节点稳定性：一个好的梯子节点需要提供长期稳定的连接，避免频繁掉线或速度波动大。&lt;/p&gt;
&lt;p&gt;翻墙机场节点速度：连接速度直接影响上网体验。优质的节点应该有较高的下载和上传速度，适合视频流、游戏或大文件下载等需求。&lt;/p&gt;
&lt;p&gt;协议支持：不同的工具支持不同的协议，用户应选择与自己设备兼容且可以最大化发挥性能的协议（如V2Ray、Vmess、Trojan等）。&lt;/p&gt;
&lt;p&gt;隐私与安全性：优质的机场订阅应当保证用户的隐私，防止流量被监控或泄露。&lt;/p&gt;
&lt;p&gt;价格合理性：订阅费用要与节点质量相匹配，避免价格过高或过低的极端情况。&lt;/p&gt;
&lt;h2&gt;在选择科学上网机场梯子加速时，可以考虑以下几个方面&lt;/h2&gt;
&lt;p&gt;支持平台：外网梯子软件应该支持多个平台，包括Windows电脑、苹果电脑、iPad、安卓手机和苹果手机等。这样才能充分发挥一分钱掰成两半用的效果。&lt;/p&gt;
&lt;p&gt;只要翻墙梯子满足以上四点要求，那么就值得一试。目前市面上有一些满足这四个条件的电脑科学上网工具，你可以自行搜索。&lt;/p&gt;
&lt;p&gt;稳定快速：稳定好用的机场梯子，需要可靠的机场购买足够的带宽，否则就是频繁卡顿掉线没有上网保障的垃圾翻墙梯子。&lt;/p&gt;
&lt;p&gt;品牌运营时间：最好选择有两三年以上经验的机场推荐，相对更加稳定和安全。&lt;/p&gt;
&lt;p&gt;价格：要挑选稳定便宜的高性价比机场梯子，但是不要一味追求价格轻信什么一元机场和免费机场梯子，远离卖个人隐私资料的黑名单机场。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;这里分享两款稳定、快速、安全、便宜的机场推荐，安卓苹果手机系统和PC电脑Windows系统都能用的翻墙软件梯子工具，提供 Shadowsocks、ShadowsocksR、VMess、VLESS（Reality）、Trojan、Hysteria 多种协议，支持 Clash、Clash Verge、ClashX、Shadowrocket（小火箭）、Stash（Clash for iOS）、Quantumult X（圈叉）、Surge、V2rayN、sing-box 等多种流行的翻墙客户端，所有机场梯子都支持Clash节点一键导入Clash客户端使用。无论是Netflix奈飞、Disney迪士尼、HBO、Hulu、YouTube油管，Gemini AI等流媒体解锁机场，还是日常工作学习，甚至上外网网络游戏加速的需求，都能完美解决，供大家参考。&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;https://affgo.cc/yafa&quot;&gt;手机PC翻墙梯子官网A&lt;/a&gt;&lt;/h2&gt;
&lt;h2&gt;&lt;a href=&quot;https://affgo.cc/ewan&quot;&gt;手机PC翻墙梯子官网B&lt;/a&gt;&lt;/h2&gt;
&lt;h2&gt;如何购买和配置机场订阅节点&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;选择机场并购买
首先，您需要根据自己的需求选择适合的机场。可以通过在线论坛、用户推荐等渠道，找到评价较高的机场服务。一般来说，正规的机场都会提供不同的套餐，您可以根据流量需求和价格预算选择合适的套餐。&lt;/li&gt;
&lt;li&gt;订阅节点
购买订阅后，机场服务提供商会给您一个配置文件（一般为V2Ray或SSR链接），您只需按照提供的教程将其导入到对应的客户端（如V2RayN、Clash、Shadowrocket等）中。&lt;/li&gt;
&lt;li&gt;配置客户端
根据您的设备和协议选择相应的客户端。例如，如果您使用V2Ray协议，可以使用V2RayN客户端（Windows）或Shadowrocket（iOS）客户端。将配置文件导入到客户端后，选择合适的节点，连接即可开始科学上网。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;选择合适的翻墙VPN梯子下载，能极大提升您的网络体验，确保稳定、安全的上网环境。在选择SSR、V2Ray、Clash或Shadowrocket节点时，务必考虑节点的速度、稳定性、隐私保护等因素。通过上述推荐的机场节点订阅，您可以根据自身需求和预算选择适合的节点，享受快速、安全的科学上网服务。&lt;/p&gt;
&lt;p&gt;2026翻墙机场 #机场推荐 #SS/SSR/机场 机场加速器购买 #V2ray机场梯子 #Trojan机场 #Clash节点VPN #翻墙加速器 #好用的便宜梯子 #翻墙梯子 #高性价比梯子 #稳定梯子推荐 #手机电脑梯子 #外网梯子 #魔法梯子
外网翻墙、免费翻墙、免费科学上网、免费节点、免费梯子、免费ss/v2ray/trojan节点、蓝灯、谷歌商店、翻墙梯子&lt;/p&gt;
&lt;/div&gt;</description><author>urwatch</author><pubDate>Sun, 10 May 2026 14:35:49 GMT</pubDate></item><item><title>【六款科学梯子工具app推荐】最佳IPLC专线机场-安卓手机/PC电脑魔法工具上网首选</title><link>https://cnodejs.org/topic/69fe85c6f4e6801b99475b8b</link><guid>https://cnodejs.org/topic/69fe85c6f4e6801b99475b8b</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;&lt;strong&gt;在网络信息爆炸的时代，许多用户都在寻找稳定、安全的科学网络工具梯子，来突破地域限制、保护隐私并畅享全球资源。无论是安卓手机科学的上网梯子、PC电脑科技上网工具，还是追求外网爬梯软件免费体验的入门者，一款支持IPLC专线的高品质魔法工具上网方案都能带来低延迟、高速度的极致体验。本文将详细推荐几家优质IPLC专线机场，帮助你轻松实现科学上网需求。&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;什么是IPLC专线？科学上网的顶级魔法工具上网选择&lt;/h2&gt;
&lt;p&gt;IPLC专线（International Private Leased Circuit）是一种高端点对点国际专线网络传输技术，不经过公共互联网骨干，直接构建高效、私密的传输通道。它以超低延迟、极高速度和超强稳定性著称，被誉为SSR/V2Ray/Trojan等科学梯子工具中的“贵族线路”。&lt;/p&gt;
&lt;p&gt;与普通中转节点不同，IPLC专线抗干扰能力强，即使在敏感时期也能保持畅通，非常适合以下场景：&lt;/p&gt;
&lt;p&gt;游戏工作室追求低延迟国际对战&lt;/p&gt;
&lt;p&gt;外汇/金融交易需要接近0延迟成交&lt;/p&gt;
&lt;p&gt;跨国企业实时传输机密文件&lt;/p&gt;
&lt;p&gt;个人用户流畅观看Netflix、Disney+、YouTube 8K视频、解锁ChatGPT/TikTok等服务&lt;/p&gt;
&lt;p&gt;对于追求安卓手机科学的上网梯子或PC电脑科技上网工具的用户来说，IPLC专线结合Shadowsocks（SS/SSR）、Trojan、Vmess等协议的机场订阅，能完美适配Clash、v2rayNG、NekoBox、Shadowrocket等客户端，一键导入即可使用。&lt;/p&gt;
&lt;p&gt;以下机场均支持IPLC/IEPL专线，落地节点丰富，解锁能力强，适合不同预算和需求的科学梯子工具用户。&lt;/p&gt;
&lt;h2&gt;1.Westworld全球加速&lt;/h2&gt;
&lt;p&gt;官网地址：&lt;a href=&quot;https://free99bai.com/i/xy016&quot;&gt;https://free99bai.com/i/xy016&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;成立于2021年的老牌机场，早期以Shadowsocks协议起家，后升级Trojan协议，并提供企业级定制线路。采用流加密技术保障数据安全，同时大幅提升传输速度。通过华为云BGP入口（深圳、上海），全球多节点覆盖。支持Netflix、Hulu、HBO、TVB、Spotify等主流流媒体和音乐平台。协议丰富（Shadowsocks+SSR+Trojan+Vmess），适合需要稳定魔法工具上网的长期用户。&lt;/p&gt;
&lt;h2&gt;2.速云&lt;/h2&gt;
&lt;p&gt;海外团队运营，跑路风险低，专注提供低延迟Shadowsocks IPLC专线节点。最高支持2.5Gbps速率，在Netflix、Disney+、TikTok和ChatGPT解锁方面表现突出。广东移动多组负载入口，落地覆盖顶级数据中心（Akari、CHOOPA等）。最低年付仅需约96元，性价比极高，是安卓手机科学的上网梯子和PC用户的热门选择。&lt;/p&gt;
&lt;h2&gt;3.Anbulense加速器&lt;/h2&gt;
&lt;p&gt;2023年成立的全专线IPLC技术服务商，不经GFW，防封锁能力强。即使敏感期也能稳定运行。亲民定价，支持Netflix、Disney+、YouTube Premium、ChatGPT等全面解锁，性价比突出。最高2.5Gbps速率，适合追求高速PC电脑科技上网工具的用户。&lt;/p&gt;
&lt;h2&gt;4.V2rayCAT机场&lt;/h2&gt;
&lt;p&gt;提供精品专线加速服务，支持常用地区V2Ray高速节点。新用户可免费试用12小时，还有按量付费套餐。促销期输入优惠码享9折。定制一键藩墙客户端支持Windows、Mac、Android系统（iOS需搭配Shadowrocket/Stash）。IPLC专线支持，上海/深圳入口，适合新手快速上手科学网络工具梯子。&lt;/p&gt;
&lt;h2&gt;5.恒星云&lt;/h2&gt;
&lt;p&gt;高端优质IPLC专线机场，14+深港IEPL/IPLC线路，不复用保障晚高峰速率。V2Ray协议+智能负载优化，网上冲浪体验极佳。对Netflix、Disney+和ChatGPT支持良好，价格亲民，适合重度流媒体用户。&lt;/p&gt;
&lt;h2&gt;6.CuteDOG&lt;/h2&gt;
&lt;p&gt;老牌主力机场，支持试用，不限制设备数量。顶级线路+全面解锁ChatGPT、Netflix、Disney+等，并提供共享账户。YouTube全天8K流畅，兼容性强，适配各种客户端，是外网爬梯软件免费试用后的优质升级选择。&lt;/p&gt;
&lt;p&gt;额外使用Tips（丰富内容）：&lt;/p&gt;
&lt;p&gt;安卓手机推荐Westworld或NekoBox等客户端，支持订阅一键导入。&lt;/p&gt;
&lt;p&gt;PC电脑可使用Westworld，界面友好，规则强大。&lt;/p&gt;
&lt;p&gt;建议多备1-2家机场，避免单一依赖。优先选择支持UDP或高带宽的线路玩游戏/视频会议。&lt;/p&gt;
&lt;p&gt;流媒体解锁时，注意切换对应国家节点；ChatGPT等AI服务对IP要求较高，IPLC原生IP优势明显。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;选择一款可靠的科学梯子工具app下载，不仅能解锁全球外网资源，更能保障隐私与速度。以上IPLC专线机场均为当前值得信赖的魔法工具上网方案，建议根据自身需求（预算、设备、主要用途）注册试用，找到最适合自己的安卓/PC科学上网伙伴，祝你畅享无界网络！&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;</description><author>enicbrot</author><pubDate>Sat, 09 May 2026 00:54:30 GMT</pubDate></item><item><title>今天MU從低位一路推到了683  你们怎么看MU</title><link>https://cnodejs.org/topic/69fcd2c5f4e6800df8475b2f</link><guid>https://cnodejs.org/topic/69fcd2c5f4e6800df8475b2f</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;ORCL衝到200附近開始反覆震盪
今天盯了一整段ORCL的分時，從開盤拉升到衝擊200，再到回落震盪，這一段走法其實很典型。
很多人看到衝到200沒站穩，第一反應就是：是不是到頂了？是不是該跑了？
但我說句實話，這種判斷，大概率會讓你錯過後面真正賺錢的那一段。ORCL今天的節奏是非常清晰的：
一波快速拉升，直接打到200，出現拋壓，回落洗籌，之後大概率還會再次上攻。長線看230。&lt;/p&gt;
&lt;p&gt;今天MU從低位一路推到了683，現在在640–652區間橫盤。很多人看到這會想：是不是要繼續衝？
但我說句實話：這種位置，最容易讓人做錯決定。
為什麼我不建議現在買？因為這裡已經是加速後的高位區間，從前面低位一路拉升，空間已經走出來了。
現在你看到的是結果，不是機會。我的建議：現在不買，就是最好的操作。長線看720附近。&lt;/p&gt;
&lt;p&gt;DXYZ從30直接拉到45，這裡不是高位，是多數人不敢上的起點。
這兩天把DXYZ這段行情完整復盤了一遍，說句實話：這不是反彈，而是趨勢切換後的加速啟動。
今天這根K線，很容易讓人產生錯覺——覺得漲多了，要結束。
但我把整個結構從2月到現在拉了一遍，結論反而更清晰：這不是結束，而是趨勢剛被市場承認。&lt;/p&gt;
&lt;p&gt;當前價格在44附近來回震盪，關鍵點在於：前期長期橫盤 + 低位籌碼集中。
這種結構在交易裡叫什麼？ 趨勢啟動，而不是反彈。&lt;/p&gt;
&lt;p&gt;現在很多人只看到今天漲了多少，但我看的不是一天，
而是長線看70+。你可以覺得誇張，但所有主升浪，都是從「不被相信」開始的。美股分享https://discord.gg/eEMpWxvqQg&lt;/p&gt;
&lt;/div&gt;</description><author>yipingw</author><pubDate>Thu, 07 May 2026 17:58:29 GMT</pubDate></item><item><title>美股分享，今天MU從低位一路推到了683   ORCL衝到200附近開始反覆震盪</title><link>https://cnodejs.org/topic/69fcd221f4e68017b8475b26</link><guid>https://cnodejs.org/topic/69fcd221f4e68017b8475b26</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;ORCL衝到200附近開始反覆震盪
今天盯了一整段ORCL的分時，從開盤拉升到衝擊200，再到回落震盪，這一段走法其實很典型。
很多人看到衝到200沒站穩，第一反應就是：是不是到頂了？是不是該跑了？
但我說句實話，這種判斷，大概率會讓你錯過後面真正賺錢的那一段。ORCL今天的節奏是非常清晰的：
一波快速拉升，直接打到200，出現拋壓，回落洗籌，之後大概率還會再次上攻。長線看230。&lt;/p&gt;
&lt;p&gt;今天MU從低位一路推到了683，現在在640–652區間橫盤。很多人看到這會想：是不是要繼續衝？
但我說句實話：這種位置，最容易讓人做錯決定。
為什麼我不建議現在買？因為這裡已經是加速後的高位區間，從前面低位一路拉升，空間已經走出來了。
現在你看到的是結果，不是機會。我的建議：現在不買，就是最好的操作。長線看720附近。&lt;/p&gt;
&lt;p&gt;DXYZ從30直接拉到45，這裡不是高位，是多數人不敢上的起點。
這兩天把DXYZ這段行情完整復盤了一遍，說句實話：這不是反彈，而是趨勢切換後的加速啟動。
今天這根K線，很容易讓人產生錯覺——覺得漲多了，要結束。
但我把整個結構從2月到現在拉了一遍，結論反而更清晰：這不是結束，而是趨勢剛被市場承認。&lt;/p&gt;
&lt;p&gt;當前價格在44附近來回震盪，關鍵點在於：前期長期橫盤 + 低位籌碼集中。
這種結構在交易裡叫什麼？ 趨勢啟動，而不是反彈。&lt;/p&gt;
&lt;p&gt;現在很多人只看到今天漲了多少，但我看的不是一天，
而是長線看70+。你可以覺得誇張，但所有主升浪，都是從「不被相信」開始的。&lt;a href=&quot;http://https://discord.gg/eEMpWxvqQg&quot;&gt;美股分享&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;</description><author>yipingw</author><pubDate>Thu, 07 May 2026 17:55:45 GMT</pubDate></item><item><title>V2ray 蕃墙梯子推荐-五款适合安卓和电脑的梯子软件下载与免费订阅节点指南</title><link>https://cnodejs.org/topic/69f69ae3f4e680abc14759c2</link><guid>https://cnodejs.org/topic/69f69ae3f4e680abc14759c2</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;&lt;strong&gt;在数字时代，无论是保护上网隐私、突破地域限制，还是提升网络体验，梯子软件都已成为不可或缺的工具。对于想要自由访问国外网站、观看 Netflix、YouTube，或者安全使用公共 Wi-Fi 的用户来说，V2ray 作为一款高效、安全的蕃墙工具，正逐渐成为安卓手机和电脑用户的首选。本文将详细介绍 V2ray安卓梯子下载方法、V2ray电脑梯子软件推荐、V2ray免费订阅节点，并盘点值得尝试的国外手机和电脑梯子软件，帮助你轻松选择适合的网络工具。&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;V2ray安卓梯子下载与使用指南&lt;/h2&gt;
&lt;p&gt;对于安卓用户来说，V2ray 不仅可以实现高速稳定的蕃墙体验，还能兼容多种订阅节点，实现灵活切换。通过官方渠道或安全的第三方应用商店下载 V2ray 安卓客户端，你可以轻松导入 V2ray免费订阅节点，无需繁琐配置，即可访问被封锁的海外网站。安卓端的 V2ray 操作界面简洁直观，非常适合新手使用，同时支持多种加密协议，保障上网安全。&lt;/p&gt;
&lt;h2&gt;V2ray电脑梯子软件推荐&lt;/h2&gt;
&lt;p&gt;在 Windows、macOS 或 Linux 电脑端，V2ray 依然是突破地理限制的利器。无论是浏览国外资讯网站，还是进行远程办公，V2ray 电脑梯子软件都能提供稳定的连接。通过导入 免费订阅节点，你可以在电脑端实现与手机端同步的蕃墙体验。此外，部分 V2ray 客户端还内置了测速功能，让你轻松选择最快的服务器节点，提升浏览和下载速度。&lt;/p&gt;
&lt;h2&gt;1.Westworld：隐私至上的免费梯子选择&lt;/h2&gt;
&lt;p&gt;官网地址：&lt;a href=&quot;https://free99bai.com/i/xy012&quot;&gt;https://free99bai.com/i/xy012&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;适用平台：安卓、iOS、Windows、macOS、Linux&lt;/p&gt;
&lt;p&gt;Westworld是高安全性并且支持免费试用的梯子软件。它的开源程序接受公开审查，配合严格的零日志策略，确保用户的上网行为完全保密。无论你是使用 V2ray电脑梯子软件，还是安卓手机端，Westworld都可以作为辅助工具，保护公共 Wi-Fi 安全和个人隐私。&lt;/p&gt;
&lt;p&gt;主要特点：&lt;/p&gt;
&lt;p&gt;免费无限流量，适合长时间使用&lt;/p&gt;
&lt;p&gt;零日志策略，完全保护隐私&lt;/p&gt;
&lt;p&gt;可在多平台使用，支持电脑和手机&lt;/p&gt;
&lt;p&gt;适用场景：学生、上班族或任何需要长期安全上网的用户。&lt;/p&gt;
&lt;h2&gt;2.Porkface：串流和蕃墙兼顾的高性价比梯子&lt;/h2&gt;
&lt;p&gt;适用平台：安卓、iOS、Windows、macOS&lt;/p&gt;
&lt;p&gt;Porkface提供每月 10GB 免费流量，覆盖15个国家服务器，非常适合偶尔需要观看 Netflix、YouTube 或短暂蕃墙的用户。通过导入 V2ray免费订阅节点，可以在安卓或电脑端快速连接，享受高速稳定的网络体验。&lt;/p&gt;
&lt;p&gt;主要特点：&lt;/p&gt;
&lt;p&gt;AES-256 高级加密，数据安全有保障&lt;/p&gt;
&lt;p&gt;操作简单，新手用户可快速上手&lt;/p&gt;
&lt;p&gt;兼顾串流与蕃墙需求&lt;/p&gt;
&lt;p&gt;适用场景：影音爱好者、临时蕃墙用户&lt;/p&gt;
&lt;h2&gt;3.Antiny：手机端操作简洁的轻量梯子&lt;/h2&gt;
&lt;p&gt;适用平台：安卓、iOS&lt;/p&gt;
&lt;p&gt;Antiny以其 简洁直观的手机端界面著称，非常适合日常浏览、社交媒体或短时间串流使用。安卓用户可通过 V2ray安卓梯子下载 与订阅节点结合，实现安全访问境外网站。&lt;/p&gt;
&lt;p&gt;主要特点：&lt;/p&gt;
&lt;p&gt;快速连接，新手可轻松上手&lt;/p&gt;
&lt;p&gt;每月 5GB 免费流量，满足日常需求&lt;/p&gt;
&lt;p&gt;支持少数热门服务器，如美国、荷兰&lt;/p&gt;
&lt;p&gt;适用场景：常在外使用手机上网、需要保护公共 Wi-Fi 的用户&lt;/p&gt;
&lt;p&gt;局限性：免费流量有限，服务器数量少，重度使用者需升级付费版&lt;/p&gt;
&lt;h2&gt;4.Hotbeer：新手友好的趣味梯子&lt;/h2&gt;
&lt;p&gt;适用平台：安卓、iOS、Windows、macOS&lt;/p&gt;
&lt;p&gt;Hotbeer的界面以 可爱的熊熊设计闻名，非常适合新手用户。支持多达 50个国家及地区服务器，可以自由切换地区，访问全球内容。通过 V2ray免费订阅节点，电脑和手机端均可实现快速连接，保障上网隐私。&lt;/p&gt;
&lt;p&gt;主要特点：&lt;/p&gt;
&lt;p&gt;多国家节点，灵活切换&lt;/p&gt;
&lt;p&gt;稳定加密技术，保护个人信息&lt;/p&gt;
&lt;p&gt;趣味操作界面，上手容易&lt;/p&gt;
&lt;p&gt;适用场景：轻度用户，如学生或偶尔访问海外网站的人&lt;/p&gt;
&lt;h2&gt;5.Whylink：功能丰富的免费梯子&lt;/h2&gt;
&lt;p&gt;适用平台：安卓、iOS、Windows、macOS、Linux&lt;/p&gt;
&lt;p&gt;Whylink提供每月 10GB 免费流量，可通过推广活动增加流量，并支持20个国家和地区服务器，满足灵活切换地区的需求。安卓和电脑用户都能通过 V2ray安卓梯子下载或电脑客户端导入节点，实现高速蕃墙。其内建广告拦截功能，也能改善浏览体验。&lt;/p&gt;
&lt;p&gt;主要特点：&lt;/p&gt;
&lt;p&gt;内置广告拦截，减少干扰&lt;/p&gt;
&lt;p&gt;灵活服务器选择，适合跨区访问&lt;/p&gt;
&lt;p&gt;稳定连接，适合浏览网页、社交媒体&lt;/p&gt;
&lt;p&gt;适用场景：喜欢干净上网体验、预算有限但追求隐私的用户&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;选择合适的 V2ray安卓梯子或者电脑梯子软件以及免费订阅节点，是保障网络自由与隐私安全的关键。结合上述五款国外手机和电脑梯子软件，你可以根据使用需求灵活搭配，实现高速、稳定、安全的上网体验。无论你是新手还是老用户，掌握这些工具都能让你的数字生活更加自由无阻。&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;</description><author>wvsfz</author><pubDate>Sun, 03 May 2026 00:46:27 GMT</pubDate></item><item><title>从体验出发，做了一个更顺滑的图片查看器</title><link>https://cnodejs.org/topic/69f1e6d6f4e6804a9347588b</link><guid>https://cnodejs.org/topic/69f1e6d6f4e6804a9347588b</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;平时刷网页、看设计稿、翻图集的时候，有没有这种感觉：&lt;/p&gt;
&lt;p&gt;点开一张图 → 新开标签 → 放大不顺手 → 想看下一张还得回去点
来回折腾几次，人都烦了。&lt;/p&gt;
&lt;p&gt;尤其是做前端、设计相关的，这种体验真的挺影响效率。&lt;/p&gt;
&lt;p&gt;所以我做了个小工具：&lt;strong&gt;Nicasa Image Viewer&lt;/strong&gt;
就是把网页里的图片浏览这件事，稍微“做正常一点”。&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;它是干嘛的？&lt;/h2&gt;
&lt;p&gt;简单说，就是：
让你在网页里看图片，不再像在用浏览器，而更像在用图片查看器。&lt;/p&gt;
&lt;p&gt;不用跳页面，不用来回点，操作更直接一点。&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;用起来大概是这样&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;点一下图片 → 直接在当前页面打开&lt;/li&gt;
&lt;li&gt;滚轮可以缩放&lt;/li&gt;
&lt;li&gt;按住拖动可以移动&lt;/li&gt;
&lt;li&gt;有多张图的话，可以直接切换&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;基本就是把你在本地看图那一套搬到网页里。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://img2024.cnblogs.com/blog/545479/202604/545479-20260429190606149-86740445.png&quot; alt=&quot;image.png&quot;&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;有哪些地方会舒服一点？&lt;/h2&gt;
&lt;h3&gt;不跳页面&lt;/h3&gt;
&lt;p&gt;图片直接在当前页面打开，不会打断你原本在看的内容。&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;缩放和拖动比较自然&lt;/h3&gt;
&lt;p&gt;滚轮缩放、拖拽移动都比较跟手，不会一顿一顿的。&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;图集可以连续看&lt;/h3&gt;
&lt;p&gt;页面里有多张图的话，可以直接左右切换，不用一张一张点回去。&lt;/p&gt;
&lt;p&gt;这一点在看设计稿、电商图、摄影图的时候挺明显。&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;看图的时候更干净&lt;/h3&gt;
&lt;p&gt;打开后背景会压暗，注意力就在图片上，不会被页面干扰。&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;简单看一下效果（视频）&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=NJPweIr1J4s&quot;&gt;https://www.youtube.com/watch?v=NJPweIr1J4s&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;安装地址&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://chromewebstore.google.com/detail/nicasa-image-viewer/cihceekeiedkinpjjjfehlgjdhpeokbj&quot;&gt;https://chromewebstore.google.com/detail/nicasa-image-viewer/cihceekeiedkinpjjjfehlgjdhpeokbj&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;适合什么人用&lt;/h2&gt;
&lt;p&gt;如果你有这些场景，应该会有点用：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;经常在网页上看图&lt;/li&gt;
&lt;li&gt;看设计稿 / UI&lt;/li&gt;
&lt;li&gt;做前端，需要检查图片资源&lt;/li&gt;
&lt;li&gt;刷图比较多（比如商品、摄影）&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2&gt;为什么会做这个&lt;/h2&gt;
&lt;p&gt;主要是觉得浏览器看图这件事，一直没怎么被认真对待。&lt;/p&gt;
&lt;p&gt;明明是个高频操作，但体验一直挺“原始”的。&lt;/p&gt;
&lt;p&gt;一开始只是自己用，后来慢慢补了一些细节，就顺手发出来了。&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;后面可能会加的东西&lt;/h2&gt;
&lt;p&gt;还在慢慢看需求，大概会往这些方向走：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;更方便的下载&lt;/li&gt;
&lt;li&gt;一些简单标记功能&lt;/li&gt;
&lt;li&gt;自定义快捷键&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;如果你平时看图比较多，可以装来试试。&lt;/p&gt;
&lt;p&gt;有问题或者想要的功能，也可以说一声。&lt;/p&gt;
&lt;/div&gt;</description><author>icai</author><pubDate>Wed, 29 Apr 2026 11:09:10 GMT</pubDate></item><item><title>PC电脑科学的上网梯子免费推荐-手机科学的梯子上网工具 &amp; 电脑魔法上网梯子4款神器评测</title><link>https://cnodejs.org/topic/69ede93ef4e680f4ad47576d</link><guid>https://cnodejs.org/topic/69ede93ef4e680f4ad47576d</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;&lt;strong&gt;你还在为PC电脑科学的上网梯子免费发愁吗？手机科学的梯子上网工具哪款最稳？电脑魔法上网梯子又该怎么选？防火墙升级加速，普通免费工具早已阵亡。本文为你深度拆解4款顶级梯子，从安卓手机到Windows PC，全平台覆盖，助你轻松实现高速、安全、自由的魔法上网！&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;我们深知，谷歌商店里充斥着各种免费梯子，看似诱人却隐患重重：速度慢、广告轰炸、隐私泄露，甚至可能被官方针对性封锁。我们强烈建议转向久经考验的付费梯子——它们技术更硬核、服务器更稳定、支持更多设备（安卓手机、Windows PC、iOS、路由器等），真正成为你PC电脑魔法上网梯子免费试用起点、手机科学的梯子上网工具主力。&lt;/p&gt;
&lt;h2&gt;1.Westworld梯子：速度与可靠性的王者，电脑魔法上网梯子的首选&lt;/h2&gt;
&lt;p&gt;官网地址：&lt;a href=&quot;https://free99bai.com/i/xy009&quot;&gt;https://free99bai.com/i/xy009&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;如果你追求极致体验，Westworld梯子绝对是最值得信赖的“魔法梯子”。它拥有专属Lightway协议（比WireGuard更优化），无需手动切换TCP/UDP模式，自动模式下就能轻松穿透最新封锁。全球3000+服务器覆盖105个国家和地区，速度快到能秒开4K/8K视频，播放Netflix、Hulu、BBC iPlayer毫无压力。 安卓App一键连接，界面简洁到老人小孩都会用；PC端同样丝滑，支持拆分隧道——让工作软件走本地网，娱乐App走梯子通道，完美平衡效率与隐私。不限制设备连接数量，从手机科学的梯子上网工具到PC电脑科学的上网梯子，全覆盖。是安全感拉满的电脑魔法上网梯子。&lt;/p&gt;
&lt;h2&gt;2.Pink梯子：性价比之王，手机科学的梯子上网工具平民首选&lt;/h2&gt;
&lt;p&gt;预算有限却想稳定蕃墙？Pink梯子就是那个“又便宜又能打”的选项。它服务器多达6500+台，覆盖65个国家和地区，解锁流媒体、地域限制的能力超强。安卓和Windows App都支持终止开关和拆分隧道，指定App走梯子，其他走本地，电量和流量双节省。 作为老牌梯子，总部在英属维京群岛，长期可用。价格亲民到让人心动，却提供企业级加密和无日志政策，是追求长期稳定的用户的理想选择。&lt;/p&gt;
&lt;h2&gt;3.Surch梯子：老兵不死，长期稳定多设备用户的电脑魔法上网梯子&lt;/h2&gt;
&lt;p&gt;2005年成立的Surch梯子，像老将一样低调却硬核。它支持12台设备同时在线，全球950+服务器覆盖35个国家，无带宽限制，P2P种子下载畅通无阻。AES-256顶级加密，融合Open梯子、IKEv2、WireGuard等多协议，速度和安全性双在线。 安卓设备独享拆分隧道功能，PC端同样流畅。支持支付宝、信用卡、PayPal多种支付，30天退款+24/7聊天支持，入手无压力。保持高可用性，是需要长时间挂梯子办公、学习、追剧用户的可靠伙伴——真正的电脑魔法上网梯子常备选手。&lt;/p&gt;
&lt;h2&gt;4.Paris梯子：移动端专家，PC电脑科学的上网梯子免费入门神器&lt;/h2&gt;
&lt;p&gt;专注移动设备的Paris梯子，依然是实测可用的黑马。它提供真正免费版（10GB/30天，13个服务器），对刚接触“PC电脑科学的上网梯子免费”的用户来说，是零成本试水的完美起点。付费版解锁无限流量，支持P2P、解锁Netflix、YouTube、BBC iPlayer等主流平台。 AES-256加密+无日志政策，总部在瑞士，隐私保护顶级。支持10台设备同时登录，安卓/iOS/Mac/Windows全平台App简单易用。50个国家服务器覆盖主流地区，速度稳定，适合日常刷剧、查资料、社交。免费版就能让你先体验手机科学的梯子上网工具的快感，再决定升级。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;总之，不管你是寻找PC电脑科学的上网梯子免费入门、手机科学的梯子上网工具日常主力，还是电脑魔法上网梯子的长期伙伴，这4款梯子都能满足你的需求。立即行动，选对工具，从此告别网络限制，畅享无边界互联网世界——魔法上网，从今天开始！&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;</description><author>tmpoyleonueden</author><pubDate>Sun, 26 Apr 2026 10:30:22 GMT</pubDate></item><item><title>手机电脑梯子推荐︱魔法外网梯子加速器和翻墙机场节点VPN哪个好用</title><link>https://cnodejs.org/topic/69edbb91f4e6807103475754</link><guid>https://cnodejs.org/topic/69edbb91f4e6807103475754</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;&lt;strong&gt;2026年我们需要可靠的手机电脑PC梯子来畅游全球网络，但近期很多机场跑路拔线导致梯子不能用。如果你寻找稳定翻墙机场梯子工具VPN，本文将为你推荐多款优质外网魔法梯子加速器。这些机场梯子工具不仅支持Windows、Mac等PC系统，还兼容手机端，帮助你轻松实现跨区访问，如连接到日本、韩国、泰国、台湾、香港、美国或法国等Clash节点。这些科学上网梯子有充足流量、简单操作的特点，让它们2026VPN梯子推荐首选。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://user-content.gitlab-static.net/c3a7e37559829271ddf336b695165817c7b12b3a/68747470733a2f2f636f6d6d756e6974792d616c6c2d6261636b75702e73332e6475616c737461636b2e75732d656173742d312e616d617a6f6e6177732e636f6d2f6f726967696e616c2f32582f392f393963366232633630613839386261356564643365346665643434666438636537393634323461632e6a706567&quot; alt&gt;&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;1.YAFACloud-&lt;/strong&gt; &lt;strong&gt;多平台兼容的稳定机场节点&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://affg.cc/yafa&quot;&gt;点击官网地址&lt;/a&gt;&lt;/strong&gt;（支持24小时不满意退款）&lt;/p&gt;
&lt;p&gt;如果你寻求电脑梯子用什么软件好，yafacloud梯子绝对是热门推荐。它支持Windows、Mac电脑以及iOS、Android手机，甚至Chrome扩展，特别适合蕃墙使用。无流量限制，连接稳定且速度快，但随机跨区模式需注意。&lt;/p&gt;
&lt;p&gt;亮点：界面简洁，一键连接；额外福利：年付订阅享七折优惠，解锁更多服务器。适用于浏览海外视频或社交，连接成功率高达95%以上。&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;2.EWAN&lt;/strong&gt; &lt;strong&gt;梯子&lt;/strong&gt; &lt;strong&gt;-&lt;/strong&gt; &lt;strong&gt;高性价比机场梯子&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://affg.cc/ewan&quot;&gt;点击官网地址&lt;/a&gt;&lt;/strong&gt;（支持24小时不满意退款）&lt;/p&gt;
&lt;p&gt;在电脑梯子免费搜索中，Ewan梯子脱颖而出。它覆盖Windows、Mac、Android、iOS和Chrome扩展，提供超过80个国家和地区服务器，包括韩国、日本、泰国、美国、法国、土耳其、印度和埃及等地。无限流量、无需注册，连接稳定，适合日常上网冲浪。&lt;/p&gt;
&lt;p&gt;亮点：多服务器选项，避免拥堵；免费版无广告干扰，隐私保护出色。电脑端可通过Chrome插件快速启用，初次使用只需几秒钟，完美解决跨区限制问题。&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;3.JIFE&lt;/strong&gt; &lt;strong&gt;梯子&lt;/strong&gt; &lt;strong&gt;-&lt;/strong&gt; &lt;strong&gt;最易上手的外网梯子&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://affg.cc/jife&quot;&gt;点击官网地址&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;对于苹果用户，JIFE梯子是适合电脑和苹果手机用户的经典之作。虽然主打iPhone/iPad，但也可扩展到Mac电脑。支持美国、日本、韩国、台湾、泰国、巴西等多国服务器，免费、无流量限、无需越狱，三步搞定跨区。&lt;/p&gt;
&lt;p&gt;亮点：开源协议，确保安全性；连接后速度流畅，适合观看高清内容。&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;4.UXIN-&lt;/strong&gt; &lt;strong&gt;跨平台魔法VPN梯子&lt;/strong&gt; &lt;strong&gt;，26国随意切换&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://affg.cc/uxin&quot;&gt;点击官网地址&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Uxin由加拿大公司开发，是电脑梯子推荐中的可靠选项，支持Android、iOS、Mac和Windows。免费版覆盖新加坡、比利时、加拿大、瑞士、美国、日本、丹麦、印度、英国等26国，无流量限制，连接稳定，操作简单。&lt;/p&gt;
&lt;p&gt;亮点：内置反审查技术，适合敏感地区；多协议支持，提升兼容性。电脑版可自定义端口，避免封锁；若连接失败，切换到SSH或OBFS模式重试，确保顺畅访问全球资源。&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;5.Surflink&lt;/strong&gt; &lt;strong&gt;梯子&lt;/strong&gt; &lt;strong&gt;-&lt;/strong&gt; &lt;strong&gt;Android免费无限流量梯子&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;如果你是Android和PC电脑的重度用户，首推Surflink梯子。它提供85个国家服务器，如新加坡、土耳其、日本、韩国、印度、台湾、巴西、印尼、泰国和法国，每个国家多服务器选项，完全免费、无流量限。&lt;/p&gt;
&lt;p&gt;亮点：轻量级设计，不占内存；支持分应用挂梯子，灵活性高。 电脑用户推荐结合BlueStacks模拟器，模拟手机环境快速启用。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;这些手机电脑梯子工具软件不仅支持24小时不满意退款试用，还能让你轻松应对网络壁垒，但免费版可能有速度波动或广告&lt;/strong&gt; &lt;strong&gt;，&lt;/strong&gt; &lt;strong&gt;建议根据需求选择。若追求更稳定体验，&lt;/strong&gt; &lt;strong&gt;升级&lt;/strong&gt; &lt;strong&gt;付费&lt;/strong&gt; &lt;strong&gt;梯子线路&lt;/strong&gt; &lt;strong&gt;更安全。网络环境多变，选对外网梯子魔法工具，让你的上网之旅无界限！&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;</description><author>urwatch</author><pubDate>Sun, 26 Apr 2026 07:15:29 GMT</pubDate></item><item><title>好用的pc电脑梯子软件推荐-5款稳定的外网梯子软件-手机梯子免费也能用</title><link>https://cnodejs.org/topic/69ddd9f6f4e68063e4475535</link><guid>https://cnodejs.org/topic/69ddd9f6f4e68063e4475535</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;&lt;strong&gt;如果你还在纠结pc电脑好用的梯子到底选哪款，或者想同时找到好用的pc电脑梯子软件和好用的手机梯子免费选项，那这篇指南就是为你量身打造的。YouTube、Netflix、Google、Twitter等外网资源全面受限，无论是Windows电脑办公、追剧，还是手机随时随地蕃墙，都离不开一款稳定的外网梯子软件。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://p.inari.site/usr/1819/69ddce1262fb5.png&quot; alt=&quot;图片2.png&quot;&gt;&lt;/p&gt;
&lt;h2&gt;1.Westworld – 整体最强的好用的pc电脑梯子软件，PC+手机双平台王者&lt;/h2&gt;
&lt;p&gt;官网地址：&lt;a href=&quot;https://fast6699.com/i/xy007&quot;&gt;https://fast6699.com/i/xy007&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;核心亮点：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Windows桌面客户端一键连接，界面极简，自动智能更新&lt;/p&gt;
&lt;p&gt;支持Windows、Mac、Android、iOS、Linux全平台，不限制设备连接数量&lt;/p&gt;
&lt;p&gt;自研Lightway协议（媲美甚至超越WireGuard），实测速度飞快，支持4K/8K视频和低延迟游戏&lt;/p&gt;
&lt;p&gt;拆分隧道 + 网络锁定功能，PC端办公与手机追剧两不误&lt;/p&gt;
&lt;p&gt;解锁Netflix、Hulu、Disney+、BBC iPlayer等全地域限制&lt;/p&gt;
&lt;p&gt;Westworld是无数用户公认的pc电脑好用的梯子顶级之选，Windows客户端与手机App体验高度一致，操作零门槛。即使在封锁最严的时期，用Automatic模式也能秒连成功。它不限速、全服务器支持P2P种子下载，下载大文件丝滑无比，是追求极致稳定与速度的Windows电脑用户首选。&lt;/p&gt;
&lt;h2&gt;2.Putun – 最便宜又稳定的外网梯子软件，pc电脑梯子性价比之王&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;核心亮点：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Windows/Mac原生客户端，操作比手机版更流畅&lt;/p&gt;
&lt;p&gt;6000+服务器节点，覆盖最全&lt;/p&gt;
&lt;p&gt;IKEv2协议专为移动+PC无缝切换设计，WiFi与数据流畅过渡&lt;/p&gt;
&lt;p&gt;拆分隧道 + 终止开关，双重防护&lt;/p&gt;
&lt;p&gt;解锁Netflix、YouTube、BBC iPlayer、DAZN等流媒体&lt;/p&gt;
&lt;p&gt;支持种子下载，AES-256顶级加密&lt;/p&gt;
&lt;p&gt;Putun总部英属维尔京群岛，长期被用户视为稳定的外网梯子软件平民王牌。Windows电脑端服务器选择丰富，适合需要稳定线路的外贸用户，同时手机端也同样稳定，是预算有限却想同时搞定PC和手机蕃墙的最佳选择。&lt;/p&gt;
&lt;h2&gt;3.Petty – 好用的手机梯子免费神器，PC端同样优秀&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;核心亮点：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Windows、Mac、Android、iOS、Android TV全平台原生支持&lt;/p&gt;
&lt;p&gt;75个国家和地区服务器，重点覆盖美加新等热门节点&lt;/p&gt;
&lt;p&gt;免费版每月10GB流量（13个服务器），付费版无限流量&lt;/p&gt;
&lt;p&gt;一个账号同时10台设备，PC+手机轻松共享&lt;/p&gt;
&lt;p&gt;AES-256加密 + 无日志政策 + 终止开关 + 广告拦截&lt;/p&gt;
&lt;p&gt;解锁Netflix、Hulu、YouTube、BBC iPlayer&lt;/p&gt;
&lt;p&gt;Petty是真正好用的手机梯子免费入门首选！免费版就能满足日常手机轻度蕃墙，Windows PC客户端体积小、启动快、界面漂亮，付费后直接升级无限流量，是想先免费试水再长期使用的用户的理想之选。&lt;/p&gt;
&lt;h2&gt;4.Future – 无限设备好用的pc电脑梯子软件，最划算的稳定外网梯子&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;核心亮点：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;一个账号无限台设备（全家PC+手机一起用也不心疼）&lt;/p&gt;
&lt;p&gt;3200+服务器节点&lt;/p&gt;
&lt;p&gt;支持Open梯子、WireGuard、Shadowsocks多协议&lt;/p&gt;
&lt;p&gt;GPS欺骗功能（手机端神器），Windows端同样强大&lt;/p&gt;
&lt;p&gt;解锁Netflix、Hulu、BBC iPlayer、YouTube全平台&lt;/p&gt;
&lt;p&gt;广告拦截 + 终止开关 + RAM-only服务器，隐私保护顶级&lt;/p&gt;
&lt;p&gt;Future凭借“无限设备”杀手锏，成为pc电脑好用的梯子中最受欢迎的一款。无论你有几台Windows电脑还是全家手机，都能一个账号搞定，性价比直接拉满，是大家庭或多设备用户的稳定外网梯子软件首选。&lt;/p&gt;
&lt;h2&gt;5.NewPilix – 最适合视频与游戏的稳定的外网梯子软件，PC手机均衡高手&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;核心亮点：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Windows客户端功能丰富，手机端同样丝滑&lt;/p&gt;
&lt;p&gt;自营服务器 + RAM-only技术，每次重启数据清零&lt;/p&gt;
&lt;p&gt;独立第三方无日志审计 + 广告拦截器&lt;/p&gt;
&lt;p&gt;NordLynx（基于WireGuard）超快协议 + Open梯子可选&lt;/p&gt;
&lt;p&gt;拆分隧道 + 终止开关 + 自动连接&lt;/p&gt;
&lt;p&gt;解锁Netflix、Hulu等流媒体顶级表现&lt;/p&gt;
&lt;p&gt;支持Shadowsocks + 加密货币支付&lt;/p&gt;
&lt;p&gt;NewPilix在安全、速度和功能上达到了完美平衡，是“稳定的外网梯子软件”中适合看视频、打游戏用户的优选。PC端解锁能力强，手机端也同样流畅，综合体验无短板。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;选对一款好用的pc电脑梯子软件，不仅能让你轻松突破所有限制，还能同时解决手机蕃墙需求。以上5款稳定的外网梯子软件，长期保持可用，用户口碑极佳，满足PC+手机全覆盖的无限制高速外网体验。&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;</description><author>xgnsaum</author><pubDate>Tue, 14 Apr 2026 06:08:54 GMT</pubDate></item><item><title>2026 外网梯子推荐︱最佳魔法梯子︱科学上网机场节点翻墙VPN加速器</title><link>https://cnodejs.org/topic/69d921f0f4e68005734754f6</link><guid>https://cnodejs.org/topic/69d921f0f4e68005734754f6</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;&lt;strong&gt;还在寻找2026年翻墙机场节点和魔法外网梯子推荐？本文将分享推荐几款广受好评的手机和PC电脑翻墙梯子工具和SSR/V2Ray/Trojan节点订阅网站，支持小火箭Shadowrocket、Clash 等客户端魔法插件，满足解锁Netflix等流媒体、外贸跨境及ChatGPT、Gemini、Claude等AI模型训练及所有科学上外网需求的VPN梯子和性价比机场。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://camo.githubusercontent.com/b322384ba0decb27ff70885df564b683a8f96854a1dfe17fafe3fc21a7dbd32e/68747470733a2f2f646973637573732e64326c2e61692f75706c6f6164732f64656661756c742f6f726967696e616c2f33582f382f382f383831373935643331343333393066353539316166663630373930633238666335356163616136642e6a706567&quot; alt&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;2026年好用的 SSR/V2ray/Trojan/Clash 节点机场推荐&lt;/h2&gt;
&lt;p&gt;经过测速评价精选好用的翻墙机场节点，提供 Shadowsocks、ShadowsocksR、Vmess、Vless（Reality）、Trojan、Hysteria 多种协议，支援 Clash、Shadowrocket（小火箭）、Stash（Clash for iOS）、Quantumult X（圈叉）、Surge、V2rayN、sing-box 等多种流行的翻墙客户端。下面并非机场排名，可以根据翻墙机场特点、价格等因素选择自己最中意的，建议购买月付套餐，满意之后再决定是否购买更长时间套餐。&lt;/p&gt;
&lt;h3&gt;尔湾云-2026稳定Clash节点机场&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://affg.cc/ewan&quot;&gt;&lt;strong&gt;官方网站注册&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;运营六年，基础套餐24元/月，超稳定抗封锁机场；&lt;/li&gt;
&lt;li&gt;提供丰富的套餐配置选择，满足大部分科学上网者不同的应用场景需求；&lt;/li&gt;
&lt;li&gt;所有节点都能稳定解锁奈飞NetFlix/HULU/HBO/TVB/动画疯等国外流媒体视频；&lt;/li&gt;
&lt;li&gt;支持解锁ChatGPT、Gemini、Claude等AI模型；&lt;/li&gt;
&lt;li&gt;支持Clash、Shadowsocks协议等，可用于国际网络游戏加速，畅玩无卡顿；&lt;/li&gt;
&lt;li&gt;性价比极高，可同时使用多台设备；&lt;/li&gt;
&lt;li&gt;在线客服快速回复，问题处理效率高;&lt;/li&gt;
&lt;li&gt;机场提供包含小火箭的苹果账号和 Netflix 账号购买渠道。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;扬帆云-2026高速大流量节点机场&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://affg.cc/yafa&quot;&gt;&lt;strong&gt;官方网站注册&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;基础套餐19元/月；&lt;/li&gt;
&lt;li&gt;流量充足，价格便宜，线路节点档次分明，提供不限时永久有效流量套餐；&lt;/li&gt;
&lt;li&gt;支持主流客户端SSR/V2Ray订阅链接；&lt;/li&gt;
&lt;li&gt;拥有遍布全球的CN2 GIA/BGP/IPLC内网专线等优质线路节点；&lt;/li&gt;
&lt;li&gt;国内采用CN2/BGP入口，隧道中转，速度快且稳定；&lt;/li&gt;
&lt;li&gt;所有付费节点均可解锁奈飞NetFlix/HULU/HBO等国外流媒体；&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;疾风云-2026大流量机场节点梯子&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://affg.cc/jife&quot;&gt;&lt;strong&gt;官方网站注册&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;老牌高端机场，基础套餐19 元/月；&lt;/li&gt;
&lt;li&gt;流量吃到饱，套餐档次分明，丰俭由人；&lt;/li&gt;
&lt;li&gt;支持主流客户端SSR/V2Ray订阅链接；&lt;/li&gt;
&lt;li&gt;拥有遍布全球的CN2 GIA/BGP/IPLC内网专线等优质线路节点，抗封锁永不掉线；&lt;/li&gt;
&lt;li&gt;所有付费节点均可解锁奈飞NetFlix/HULU/HBO/Disney等国外流媒体；&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;翻墙后注意事项&lt;/h2&gt;
&lt;h3&gt;翻墙迫不得已，但切记遵纪守法&lt;/h3&gt;
&lt;p&gt;我们翻墙目的是为了工作学习和丰富娱乐生活，切记不要进行任何涉及政治、宗教极端主义、网络诈骗等非法活动；&lt;/p&gt;
&lt;h3&gt;警惕网上所谓“免费VPN加速器”，“免费机场节点”,“免费梯子”&lt;/h3&gt;
&lt;p&gt;所谓“免费VPN加速器”，“免费机场节点”，“免费梯子”很少可靠的，省钱没错，但不假思索地使用来源不可靠的网站上分享的东西，会给你上网带来风险，你的上网隐私可能被泄漏，流量经过恶意服务器，还可能被破解，你可能丢失敏感信息，如密码，验证码，银行账号等。不是说所有免费的东西都这样，但在你安装客户端或把它们导入配置之前请慎重。&lt;/p&gt;
&lt;h3&gt;尽量不要用国产软件&lt;/h3&gt;
&lt;p&gt;国产软件不都是流氓软件，但它们很多确实是流氓软件，它们几乎不受任何法律法规约束，一旦装进你的电脑或手机设备，它们就开始为所欲为，扫描你的硬盘，监听你的流量，窃取你的资料。如果你把这些软件和上网工具装在一起，这些软件一定就知道你在翻墙，可能在后台把你个人信息和使用的上网软件发送到远程服务器，因为网络监管，这些国内厂商在任何时候都可能将你的上网记录提供给政府或第三方，这将给你人身安全带来什么隐患，只能由你自己去想象。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;2026翻墙机场 #机场推荐 #SS/SSR机场 机场加速器购买 #V2ray机场梯子 #Trojan机场 #Clash节点VPN #翻墙加速器 #好用的便宜梯子 #翻墙梯子 #高性价比梯子 #稳定梯子推荐 #手机电脑梯子 #外网梯子 #魔法梯子 #VPN梯子 #AI梯子&lt;/p&gt;
&lt;/div&gt;</description><author>urwatch</author><pubDate>Fri, 10 Apr 2026 16:14:40 GMT</pubDate></item><item><title>免费外网电脑梯子与免费手机外网梯子实用指南-六款能上Twitter的手机和电脑梯子推荐</title><link>https://cnodejs.org/topic/69d5b3faf4e6804adb47548d</link><guid>https://cnodejs.org/topic/69d5b3faf4e6804adb47548d</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;&lt;strong&gt;许多用户迫切需要免费外网电脑梯子和免费手机外网梯子，以绕过限制，访问Twitter（X）、YouTube、Instagram、ChatGPT、Netflix等海外App和网站。无论是电脑端Windows/Mac，还是手机端iOS/Android，一款可靠的免费网络加速器梯子都能帮助你轻松解锁全球资源、保护隐私，同时支持流媒体观看、社交互动和日常办公。本文基于实际测试经验，结合SSR/V2Ray/Trojan等协议，深度分享能上Twitter的手机和电脑梯子解决方案，以及能上国外App的梯子软件推荐。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;免费外网梯子通常指提供免费流量、试用节点或公益订阅的工具。真实情况是，完全永久免费且高速稳定的选项较少，许多免费方案存在限速、限流、节点不稳或隐私风险。但通过试用、共享节点、每日签到等方式，仍可满足轻度需求（如刷Twitter、查资料）；重度使用（如4K视频、长时间办公）建议结合付费订阅以获得更好体验。&lt;/p&gt;
&lt;p&gt;安全提醒：免费梯子优先选择知名开源工具或有无日志政策的提供商，避免不明来源节点导致隐私泄露。测试时从小流量开始，结合杀毒软件使用。&lt;/p&gt;
&lt;p&gt;免费网络加速器梯子实测推荐（支持手机+电脑）
以下结合传统梯子和轻量代理方案，重点覆盖免费外网电脑梯子与免费手机外网梯子。新手可从一键梯子起步，进阶用户推荐客户端+订阅节点模式。&lt;/p&gt;
&lt;h2&gt;1.Westworld梯子 &amp;amp; Sark 等付费梯子的免费试用路径&lt;/h2&gt;
&lt;p&gt;官网地址：&lt;a href=&quot;https://fast6699.com/i/xy001&quot;&gt;https://fast6699.com/i/xy001&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;这些老牌工具在网络环境下稳定性高，支持iOS/Android/Windows/Mac全平台。虽非完全免费，但提供3天免费试用，可以免费测试其稳定性。iOS上需美区Apple ID下载App，一键连接即可访问Twitter和国外App。优点包括高速服务器（香港/台湾/日本节点延迟低）、无限带宽选项、流媒体解锁（Netflix、Disney+）。适合想稳定上Twitter的用户，先试用再决定。&lt;/p&gt;
&lt;h2&gt;2.Promoon梯子 — 真正免费的免费手机外网梯子选项&lt;/h2&gt;
&lt;p&gt;Promoon梯子免费版提供无限数据、无广告，服务器覆盖多国（虽服务器选择有限），支持Stealth协议帮助绕过检测。兼容iOS、Android、Windows、Mac，适合轻度浏览Twitter、Gmail或国外网站。电脑端速度尚可，手机端一键连接方便。但高峰期可能限速，推荐作为备份或测试能上国外App的梯子软件。&lt;/p&gt;
&lt;h2&gt;3.Hospital 等免费梯子基础版&lt;/h2&gt;
&lt;p&gt;提供无限数据免费模式，服务器靠近亚洲，适合快速访问Twitter网页或App。界面简单，手机电脑均支持，但广告较多，隐私保护不如付费版。适合偶尔上Twitter或查资料，不推荐长期重度使用。&lt;/p&gt;
&lt;p&gt;机场订阅 + 免费/共享节点（强烈推荐进阶方案） 使用免费外网电脑梯子或手机时，许多用户转向“机场”订阅（提供Shadowsocks、V2Ray、Trojan节点）。部分服务有免费试用或公益节点，每天更新。&lt;/p&gt;
&lt;p&gt;电脑端：推荐Clash for Windows / V2rayN客户端，导入订阅链接，一键切换节点。支持全局或规则模式，轻松解锁Twitter、YouTube 4K。&lt;/p&gt;
&lt;p&gt;手机端：安卓用Clash for Android；iOS用Shadowrocket（小火箭）（需海外Apple ID或共享ID免费下载）。导入免费订阅后，测速选低延迟节点，即可稳定上Twitter和国外App。 社区（如GitHub）常分享每日更新的免费节点或订阅，兼容Clash、Shadowrocket，支持分流规则（国内直连减少卡顿）。&lt;/p&gt;
&lt;h2&gt;其他免费网络加速器梯子补充&lt;/h2&gt;
&lt;p&gt;啊哈加速器（AHA） 等国内开发工具：支持每日签到获免费时长，手机App一键连接，适合能上Twitter的手机梯子。&lt;/p&gt;
&lt;p&gt;猎豹加速器、灯塔加速器：提供免费试用或低价选项，多设备支持，节点覆盖广，稳定性较好。&lt;/p&gt;
&lt;p&gt;Psiphon 或 Tor：完全免费代理/浏览器，适合纯网页访问Twitter，但速度较慢，不适合视频或App。 这些工具多支持Windows、Mac、Android、iOS，部分有浏览器扩展，方便电脑刷Twitter。&lt;/p&gt;
&lt;h2&gt;能上Twitter的手机和电脑梯子使用教程&lt;/h2&gt;
&lt;p&gt;准备工作：电脑直接下载客户端；iOS需切换海外Apple ID（仅App Store登录，勿登录iCloud）下载Shadowrocket或梯子 App。安卓可在官网或应用市场获取。
导入节点/订阅（免费外网梯子核心）：复制订阅链接到客户端，更新节点列表。点击测速，选择绿色低延迟节点（优先香港、台湾、日本、新加坡线路）。
连接与优化：
规则模式（推荐）：国内网站直连，Twitter/国外App走代理，避免微信/支付宝卡顿。
开启混淆/伪装流量，提升上Twitter稳定性。
电脑端可设置系统代理或全局；手机端允许梯子配置后，从控制中心开关。
常见问题解决：连不上时更新订阅、切换协议（Trojan/WireGuard更快）、重启设备或换WiFi/4G。速度慢时选住宅IP节点或低峰期使用。免费手机外网梯子高峰期易波动，建议备2-3个节点。
解锁国外App：连接后打开Twitter App、Instagram、WhatsApp等，即可正常登录和互动。流媒体解锁需选对应国家节点。
免费外网电脑梯子优势在于屏幕大、操作灵活，适合长时间使用；免费手机外网梯子便携性强，随时刷Twitter。结合使用效果最佳，例如电脑办公+手机社交。&lt;/p&gt;
&lt;h2&gt;注意事项与风险&lt;/h2&gt;
&lt;p&gt;免费网络加速器梯子稳定性因节点质量而异，公益免费节点易拥堵或下线。长期推荐优质付费机场（月费低至几元，流量充足）。
优先无日志、强加密工具，保护个人数据。
iOS用户下载小火箭等工具时，注意共享ID安全，仅用于App Store。
实际效果受当地网络环境影响，建议先小范围测试Twitter访问速度。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;寻找免费外网电脑梯子、免费手机外网梯子或免费网络加速器梯子时，关键在于平衡免费便利与稳定安全。能上Twitter的手机和电脑梯子以及能上国外App的梯子软件已有很多实用方案，从简单一键工具到灵活节点配置，总有一款适合你。保护隐私、畅享外网，从选择合适梯子开始！欢迎分享你的使用经验或最新节点推荐，我们共同优化翻墙方案，享受更自由的网络世界。&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;</description><author>adiziruje477</author><pubDate>Wed, 08 Apr 2026 01:48:42 GMT</pubDate></item><item><title>33025690-244b-4102-8d28-2aa1242e23aa</title><link>https://cnodejs.org/topic/69d13273f4e68069c8475424</link><guid>https://cnodejs.org/topic/69d13273f4e68069c8475424</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;谢谢谢谢&lt;/p&gt;
&lt;/div&gt;</description><author>wildgo</author><pubDate>Sat, 04 Apr 2026 15:46:59 GMT</pubDate></item><item><title>表格测试12345678</title><link>https://cnodejs.org/topic/69d12e38f4e680623c475423</link><guid>https://cnodejs.org/topic/69d12e38f4e680623c475423</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;谢谢谢谢&lt;/p&gt;
&lt;/div&gt;</description><author>wildgo</author><pubDate>Sat, 04 Apr 2026 15:28:56 GMT</pubDate></item><item><title>表格测试12345678</title><link>https://cnodejs.org/topic/69d1271ef4e6807b9147541a</link><guid>https://cnodejs.org/topic/69d1271ef4e6807b9147541a</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;谢谢谢谢&lt;/p&gt;
&lt;/div&gt;</description><author>wildgo</author><pubDate>Sat, 04 Apr 2026 14:58:38 GMT</pubDate></item><item><title>Postman练手测试</title><link>https://cnodejs.org/topic/69d126f6f4e6807535475419</link><guid>https://cnodejs.org/topic/69d126f6f4e6807535475419</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;这是使用Postman工具调用CNode社区API接口的测试帖子，用于验证接口可用性.&lt;/p&gt;
&lt;/div&gt;</description><author>wildgo</author><pubDate>Sat, 04 Apr 2026 14:57:58 GMT</pubDate></item><item><title>学习Postman接口测试心得分享</title><link>https://cnodejs.org/topic/69d12601f4e6806edb475415</link><guid>https://cnodejs.org/topic/69d12601f4e6806edb475415</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;大家好，我最近在学习使用Postman进行接口测试，过程中遇到了很多问题，也总结了一些经验。
今天想分享一下我用Postman调用GitHub API创建Gist的过程，记录一下遇到的问题和解决方法，希望对同样在学习接口测试的小伙伴有帮助。&lt;/p&gt;
&lt;/div&gt;</description><author>wildgo</author><pubDate>Sat, 04 Apr 2026 14:53:53 GMT</pubDate></item><item><title>最新科学上网魔法梯子推荐：稳定的PC手机翻墙机场节点VPN</title><link>https://cnodejs.org/topic/69d10c83f4e6800a484753d4</link><guid>https://cnodejs.org/topic/69d10c83f4e6800a484753d4</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;&lt;strong&gt;2026年，使用Clash机场或小火箭节点等魔法外网梯子已成为基本技能。无论是外贸人员访问谷歌、程序员查阅GitHub或使用Gemini、ChatGPT、Claude等AI模型，还是影迷解锁观看Netflix等流媒体的4K内容，传统免费科学上网VPN梯子已无法满足需求。翻墙机场以稳定、高速和大流量的优势，成为翻墙梯子推荐中的首选。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这里分享几个稳定、快速、安全、便宜的&lt;strong&gt;翻墙机场推荐&lt;/strong&gt;，安卓苹果手机系统和PC电脑Windows系统都能用的翻墙软件梯子工具，提供 Shadowsocks、ShadowsocksR、VMess、VLESS（Reality）、Trojan、Hysteria 多种协议，支持 Clash、Clash Verge、ClashX、Shadowrocket（小火箭）、Stash（Clash for iOS）、Quantumult X（圈叉）、Surge、V2rayN、sing-box 等多种流行的翻墙客户端，所有机场梯子都支持Clash节点一键导入Clash客户端使用。无论是Netflix奈飞、Disney迪士尼、HBO、Hulu、YouTube油管等&lt;strong&gt;流媒体解锁机场&lt;/strong&gt;，还是日常工作学习，甚至上外网网络游戏加速的需求，都能完美解决，供大家参考。本文精选五款顶级机场翻墙机场，助你找到最佳&lt;a href=&quot;https://gitlab.com/cnvpn/shouji-tizi&quot;&gt;VPN梯子 &lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://community-all-backup.s3.dualstack.us-east-1.amazonaws.com/original/2X/7/70e973b570b3d877ad95233869003144728e066c.jpeg&quot; alt&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;为什么选择翻墙机场？&lt;/h2&gt;
&lt;p&gt;免费梯子（如自由门、蓝灯）或自建VPS（如Vultr）速度慢、易被封，晚高峰几乎卡死。而&lt;strong&gt;Clash机场魔法梯子&lt;/strong&gt;依托SS/SSR、V2Ray、Trojan等协议，结合BGP中转和IPLC专线，提供更强的抗封锁能力和流畅体验。相比免费工具，收费的&lt;strong&gt;翻墙机场&lt;/strong&gt;在安全性、稳定性和性价比上更胜一筹，尤其是海外运营的机场 ，跑路风险低，隐私有保障。&lt;/p&gt;
&lt;p&gt;一分钱一分货：便宜直连易翻车，专线支持的&lt;strong&gt;VPN梯子&lt;/strong&gt;才是正解。以下是2026年的顶级梯子推荐。&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;2026顶级翻墙机场推荐&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;机场名称&lt;/th&gt;
&lt;th&gt;热门指数&lt;/th&gt;
&lt;th&gt;官网地址&lt;/th&gt;
&lt;th&gt;最低价格&lt;/th&gt;
&lt;th&gt;流量范围&lt;/th&gt;
&lt;th&gt;特点&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;扬帆云&lt;/td&gt;
&lt;td&gt;⭐⭐⭐⭐⭐&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://affgo.cc/yafa&quot;&gt;扬帆云官网 &lt;/a&gt;&lt;/td&gt;
&lt;td&gt;19元/月&lt;/td&gt;
&lt;td&gt;100GB-500GB&lt;/td&gt;
&lt;td&gt;高速稳定，推荐首选&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;尔湾云&lt;/td&gt;
&lt;td&gt;⭐⭐⭐⭐⭐&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://affgo.cc/ewan&quot;&gt;尔湾云官网 &lt;/a&gt;&lt;/td&gt;
&lt;td&gt;24元/月&lt;/td&gt;
&lt;td&gt;100GB-500GB&lt;/td&gt;
&lt;td&gt;性价比首选，流量不清零&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;速云梯&lt;/td&gt;
&lt;td&gt;⭐⭐⭐⭐⭐&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://affgo.cc/suyu&quot;&gt;速云梯官网 &lt;/a&gt;&lt;/td&gt;
&lt;td&gt;19元/月&lt;/td&gt;
&lt;td&gt;100GB-1200GB&lt;/td&gt;
&lt;td&gt;8K视频解锁，游戏加速&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;疾风云&lt;/td&gt;
&lt;td&gt;⭐⭐⭐⭐☆&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://affgo.cc/jife&quot;&gt;疾风云官网 &lt;/a&gt;&lt;/td&gt;
&lt;td&gt;19元/月&lt;/td&gt;
&lt;td&gt;100GB-1200GB&lt;/td&gt;
&lt;td&gt;大流量，流媒体优选&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;优信云&lt;/td&gt;
&lt;td&gt;⭐⭐⭐⭐☆&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://affgo.cc/uxin&quot;&gt;优信云官网 &lt;/a&gt;&lt;/td&gt;
&lt;td&gt;19元/月&lt;/td&gt;
&lt;td&gt;100GB-600GB&lt;/td&gt;
&lt;td&gt;小众稳定，带宽充沛&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;1. 扬帆云 - 2026魔法梯子推荐首选&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://affgo.cc/yafa&quot;&gt;扬帆云官网 &lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://affgo.cc/yafa&quot;&gt;&lt;img src=&quot;https://community-all-backup.s3.dualstack.us-east-1.amazonaws.com/original/2X/b/b0845043595d29dfe22c88645f930f0939ce3b9b.jpeg&quot; alt&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;扬帆云由海外团队运营，主打Shadowsocks+V2Ray协议，提供多线入口和IEPL专线，100多条节点线路覆盖美国、新加坡、台湾、香港、日本及全球小众地区。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;核心优势&lt;/strong&gt;: 解锁Netflix、Disney+、YouTube Premium，4K秒开；月付19元起，年付七折优惠；支持永久有效按流量计费套餐；支持24H不满意退款；支持Clash、Shadowrocket等主流翻墙插件客户端。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;套餐价格&lt;/strong&gt;:&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;套餐&lt;/th&gt;
&lt;th&gt;价格&lt;/th&gt;
&lt;th&gt;每月流量&lt;/th&gt;
&lt;th&gt;特点&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;初级套餐&lt;/td&gt;
&lt;td&gt;19元/月&lt;/td&gt;
&lt;td&gt;100GB&lt;/td&gt;
&lt;td&gt;预算友好&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;中级套餐&lt;/td&gt;
&lt;td&gt;30元/月&lt;/td&gt;
&lt;td&gt;200GB&lt;/td&gt;
&lt;td&gt;稳定日常使用&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;高级套餐&lt;/td&gt;
&lt;td&gt;40元/月&lt;/td&gt;
&lt;td&gt;400GB&lt;/td&gt;
&lt;td&gt;深度科学上网用户&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;评测体验&lt;/strong&gt;: 扬帆云节点丰富，晚高峰稳定，是&lt;strong&gt;梯子推荐&lt;/strong&gt;中的首选。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;优惠活动&lt;/strong&gt;: 年付享七折优惠。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3&gt;2. 尔湾云 - 最稳定的便宜外网梯子&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://affgo.cc/ewan&quot;&gt;尔湾云官网 &lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://affgo.cc/ewan&quot;&gt;&lt;img src=&quot;https://community-all-backup.s3.dualstack.us-east-1.amazonaws.com/original/2X/8/8b37db9fe3d0faaf9a489d7205b0215b7caabd41.jpeg&quot; alt&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;尔湾云专注于SSR和V2Ray，采用GBP隧道中转和IEPL专线加速，海外团队运营，节点覆盖美国、法国、新加坡、日本、马来西亚、香港、台湾等地。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;核心优势&lt;/strong&gt;: 月付24元起，流量月底不清零；解锁Netflix、ChatGPT、TikTok；一键导入Clash等插件。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;套餐价格&lt;/strong&gt;:&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;套餐&lt;/th&gt;
&lt;th&gt;价格&lt;/th&gt;
&lt;th&gt;每月流量&lt;/th&gt;
&lt;th&gt;特点&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;基础版&lt;/td&gt;
&lt;td&gt;24元/月&lt;/td&gt;
&lt;td&gt;100GB&lt;/td&gt;
&lt;td&gt;稳定首选&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;标准版&lt;/td&gt;
&lt;td&gt;39元/月&lt;/td&gt;
&lt;td&gt;200GB&lt;/td&gt;
&lt;td&gt;日常使用&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;高级版&lt;/td&gt;
&lt;td&gt;49元/月&lt;/td&gt;
&lt;td&gt;400GB&lt;/td&gt;
&lt;td&gt;高性价比&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;评测体验&lt;/strong&gt;: 尔湾云低价稳定，适合学生，是&lt;strong&gt;魔法梯子&lt;/strong&gt;的入门之选。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;优惠活动&lt;/strong&gt;: 流量全到账，月底不清零。年付七折 优惠码 SS12&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3&gt;3. 速云梯 - 2026稳定高速的翻墙机场&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://affgo.cc/suyu&quot;&gt;速云梯官网 &lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://affgo.cc/suyu&quot;&gt;&lt;img src=&quot;https://community-all-backup.s3.dualstack.us-east-1.amazonaws.com/original/2X/2/2d5213089df499c9010e32f4745f12d6905d946f.jpeg&quot; alt&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;速云梯主打SS/V2Ray协议，全球部署超3000台服务器，100+节点覆盖美国、日本、香港等地，配备BGP中转和IPLC专线。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;核心优势&lt;/strong&gt;: 支持8K视频，是顶级的&lt;strong&gt;流媒体解锁机场&lt;/strong&gt;，解锁Netflix、Hulu、Disney+；月付19元起，流量充足；AES-256加密，无日志运营。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;套餐价格&lt;/strong&gt;:&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;套餐&lt;/th&gt;
&lt;th&gt;价格&lt;/th&gt;
&lt;th&gt;每月流量&lt;/th&gt;
&lt;th&gt;特点&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;入门版&lt;/td&gt;
&lt;td&gt;19.99元/月&lt;/td&gt;
&lt;td&gt;100GB&lt;/td&gt;
&lt;td&gt;适合轻度用户&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;标准版&lt;/td&gt;
&lt;td&gt;39.99元/月&lt;/td&gt;
&lt;td&gt;350GB&lt;/td&gt;
&lt;td&gt;中度使用优选&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;旗舰版&lt;/td&gt;
&lt;td&gt;99.99元/月&lt;/td&gt;
&lt;td&gt;1200GB&lt;/td&gt;
&lt;td&gt;重度用户首选&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;评测体验&lt;/strong&gt;: 速云梯稳定性一流，游戏加速和4K视频体验极佳，专线节点抗封锁突出。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;优惠活动&lt;/strong&gt;: 年付享7折，优惠码 &lt;strong&gt;YYY11&lt;/strong&gt;（截止2025年2月1日）。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3&gt;4. 疾风云 - 最佳流媒体解锁机场&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://affgo.cc/jife&quot;&gt;疾风云官网 &lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://affgo.cc/jife&quot;&gt;&lt;img src=&quot;https://community-all-backup.s3.dualstack.us-east-1.amazonaws.com/original/2X/1/14930628a5231dbf6fbf707125648ca906100ee2.jpeg&quot; alt&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;疾风云支持SSR和V2Ray，配备BGP中转和IPLC专线，100多节点覆盖美国、法国、德国、日本、新加坡、泰国、马来西亚、香港、台湾等地。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;核心优势&lt;/strong&gt;: 月付19元起，旗舰版1200GB；支持Netflix、Disney+、ChatGPT，8K无压力；优惠折扣活动多，支持24小时不满意退款。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;套餐价格&lt;/strong&gt;:&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;套餐&lt;/th&gt;
&lt;th&gt;价格&lt;/th&gt;
&lt;th&gt;每月流量&lt;/th&gt;
&lt;th&gt;特点&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;入门版&lt;/td&gt;
&lt;td&gt;19元/月&lt;/td&gt;
&lt;td&gt;100GB&lt;/td&gt;
&lt;td&gt;超低价入门&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;标准版&lt;/td&gt;
&lt;td&gt;28元/月&lt;/td&gt;
&lt;td&gt;200GB&lt;/td&gt;
&lt;td&gt;均衡选择&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;旗舰版&lt;/td&gt;
&lt;td&gt;98元/月&lt;/td&gt;
&lt;td&gt;1200GB&lt;/td&gt;
&lt;td&gt;大流量优选&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;评测体验&lt;/strong&gt;: 疾风云兼顾低价和大流量，是&lt;strong&gt;流媒体解锁机场&lt;/strong&gt;的性价比标杆。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;优惠活动&lt;/strong&gt;: 年付享7折，优惠码 &lt;strong&gt;jf2025&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3&gt;5. 优信云 - 稳定VPN梯子推荐&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://affgo.cc/uxin&quot;&gt;优信云官网 &lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://affgo.cc/uxin&quot;&gt;&lt;img src=&quot;https://community-all-backup.s3.dualstack.us-east-1.amazonaws.com/original/2X/0/00064b4cf577a409ae297aeab30f622e4a9b0844.jpeg&quot; alt&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;优信云是新兴Shadowsocks/Trojan协议机场服务商，除了公网和直连节点还提供IPLC高速专线，支持24小时不满意退款。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;核心优势&lt;/strong&gt;: 解锁国际流媒体平台和ChatGPT、TikTok、YouTube；月付15元起，性价比高；支持24小时退款。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;套餐价格&lt;/strong&gt;:&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;套餐&lt;/th&gt;
&lt;th&gt;价格&lt;/th&gt;
&lt;th&gt;每月流量&lt;/th&gt;
&lt;th&gt;特点&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;基础版&lt;/td&gt;
&lt;td&gt;19元/月&lt;/td&gt;
&lt;td&gt;100GB&lt;/td&gt;
&lt;td&gt;小众稳定&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;标准版&lt;/td&gt;
&lt;td&gt;30元/月&lt;/td&gt;
&lt;td&gt;200GB&lt;/td&gt;
&lt;td&gt;日常优选&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;高级版&lt;/td&gt;
&lt;td&gt;50元/月&lt;/td&gt;
&lt;td&gt;600GB&lt;/td&gt;
&lt;td&gt;高流量选择&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;评测体验&lt;/strong&gt;: 优信云低调稳定，是&lt;strong&gt;VPN梯子&lt;/strong&gt;中的潜力股，适合追求隐私的用户。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;优惠活动&lt;/strong&gt;: 年付85折，优惠码 yx85&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2&gt;机场科普&lt;/h2&gt;
&lt;h3&gt;什么是机场梯子&lt;/h3&gt;
&lt;p&gt;机场节点梯子是提供科学上网服务的网络供应商，其主要服务项目是提供Shadowsocks、V2ray、Trojan等翻墙协议的节点服务器。这些机场因早期使用Shadowsocks和ShadowsocksR（简写为SS/SSR）协议，而小飞机又是Shadowsocks软件的图标，因此得名“机场”。这些节点服务器订阅文件输入到“飞机”里，就是可以帮助用户绕过网络封锁的“航线”。&lt;/p&gt;
&lt;h3&gt;什么是VPN&lt;/h3&gt;
&lt;p&gt;VPN（虚拟私人网络）是一种内置了加密通讯协议的客户端，用于保护个人数字通讯隐私和数据加密，它的协议设计并不是为了翻墙。&lt;/p&gt;
&lt;p&gt;当用户连接到VPN服务器时，所有的网络数据都会通过加密隧道传输，这意味着即使在公共Wi-Fi网络上，黑客也难以窃取用户的敏感信息，如密码、个人信息和银行数据。VPN在移动设备上尤为重要，因为它可以防止在公共Wi-Fi上连接时受到数据泄露和网络攻击。&lt;/p&gt;
&lt;h3&gt;机场和VPN的区别&lt;/h3&gt;
&lt;p&gt;当谈到机场和VPN的区别时，虽然它们都可用于科学上网，但在功能和使用方面存在明显区别。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;首先，机场的主要目的是为了翻墙，因此对线路节点做了协议优化，以实现更适合大数据高速传输的效果。这使得在访问被限制的网站时，机场相比VPN在数据传输速度和稳定性方面表现更出色。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;其次，专业VPN在数据加密防护方面拥有极高的级别，保障用户的数字通讯隐私。然而，对于普通用户来说，机场使用的TLS加密协议已足够满足基本隐私保护需求，尤其考虑到与VPN相比，机场在数据传输速度上具有显著优势。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;对于中国大陆用户，机场采用了动态分流自动均衡规则，智能地区分境内境外的IP访问路径，并针对节点服务器的压力进行智能分配，从而保证了访问速度。相比之下，VPN的高级别加密处理所有的访问链接，可能影响网路浏览体验。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;最后，使用方式也有区别。VPN通常需要安装不同供应商开发的软件才能使用，而机场只需将节点订阅链接复制到喜欢的开源软件即可。这使得用户能够灵活地随时切换不同机场节点，实现更高效和便捷的上网体验。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;机场节点梯子的主要优点&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;性价比高： 这些机场梯子加速器价格相比 ExpressVPN这些便宜很多，但并不意味着节点梯子服务质量不行，恰恰相反，我们购买同样或更低价格的套餐（使用折扣优惠码），可以获得这些便宜机场梯子的顶级套餐，延迟低、速度快的香港、台湾、日本、韩国、新加坡等地VPN节点都能用，而 ExpressVPN 提供给中国大陆翻墙用户的节点延迟都偏高，有时候需要等待很长时间才能连接到VPN服务器。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;稳定性好：这些魔法上网的梯子加速器都采用专门的翻墙协议，可以有效地抗防火长城的封锁，如果你之前没有听说过 Shadowsocks、V2ray、Trojan 这些词汇，相信我，使用过这些节点梯子之后一定会惊艳到你。这些翻墙协议专门针对防火长城开发，有专门的开发者进行更新迭代，相比传统的VPN万年不更新一次线路和协议，优势就不言而喻了。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;速度快：这些翻墙机场不仅有针对性的VPN协议，线路节点也是经过优化的，使用对中国国内友好的翻墙线路，延迟低、速度快，甚至部分翻墙梯子采用内网专线进行网络加速，不经过 GFW 防火长城，即使是敏感时期，当使用其他家VPN的线路被封锁时，专线翻墙加速器依然可以畅享高速的Google、youtube等上外网浏览体验。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;节点覆盖全：这些翻墙VPN梯子重视中国用户，提供的也是中国用户喜欢的VPN服务器节点：香港、台湾、日本、韩国、新加坡、美国机场服务器节点，可解锁当地 Netflix、HBO、Disney+ 等流媒体服务，甚至有的会提供 土耳其、阿根廷、巴基斯坦、菲律宾 等小众梯子节点，帮助用户以极低的价格去购买 Netflix、Steam、Spotify 等服务。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;客户端支持好：这些翻墙VPN即拥有自己开发的VPN客户端，用户也可以自由的选择流行的第三方翻墙客户端，全部适用于手机和PC电脑下载安装，通过导入订阅链接的方式使用，非常快速方便。Windows、Mac、Android 用户推荐使用 Clash 小猫咪梯子 客户端， iOS 用户推荐使用 Shadowrocket 小火箭梯子 或者 Stash。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;机场和VPN怎么选&lt;/h3&gt;
&lt;p&gt;综合而言，机场和VPN都在帮助用户绕过网络封锁、访问被限制的网站和保护隐私方面发挥重要作用，可以根据各自特点的不同，选择最符合个人需求场景的服务提供商就可以了，但是要注意以下几点：&lt;/p&gt;
&lt;p&gt;搭建机场技术难度并不高，很多个人自建机场圈钱跑路，使用户遭受损失。所以，尽量选择运营时间长、节点丰富、稳定可靠，在市场有一定口碑的高性价比可靠机场；&lt;/p&gt;
&lt;p&gt;不管是用机场节点，还是 VPN，尽量先选择1–3月的短期套餐。毕竟，服务商太多了，在不熟悉了解前，尽量谨慎选择；&lt;/p&gt;
&lt;p&gt;很多只在简中圈推广号称永久免费的XX-VPN，其实就是套壳了内置的机场节点协议的小程序，开发成本极低，这种所谓的“VPN”或者“加速器”，在隐私安全保护和通讯数据加密方面，和专业的 VPN 大厂相比要差太多。而且永久免费，他们搭成本进来图你的啥需要仔细想想；&lt;/p&gt;
&lt;p&gt;不要选择所谓的一元机场和月抛机场，虽然便宜但是线路质量无法保障，虽然不怕机场主&lt;/p&gt;
&lt;h2&gt;如何选择适合你的翻墙机场？&lt;/h2&gt;
&lt;p&gt;选择&lt;strong&gt;翻墙机场&lt;/strong&gt;并非“一刀切”，需要根据个人需求权衡以下几个方面：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;预算有限&lt;/strong&gt;: 尔湾云和扬帆云是&lt;strong&gt;机场推荐&lt;/strong&gt;中的实惠选择，适合学生或偶尔使用外网的用户。它们的流量虽不算多，但对于日常浏览网页、查资料已足够。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;稳定性优先&lt;/strong&gt;: 速云梯和扬帆云提供IPLC专线和BGP中转支持，节点覆盖广泛，即使在网络高峰期或敏感时期也能保持连接稳定。如果你需要长时间在线（如跨境电商、远程办公），这两款是不错的选择。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;流媒体解锁&lt;/strong&gt;: 速云梯和疾风云是&lt;strong&gt;流媒体解锁机场&lt;/strong&gt;的佼佼者，支持Netflix、Disney+甚至8K视频播放。它们的旗舰套餐流量充足（1200GB），延迟低，适合影迷或需要高清体验的用户。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;特殊时期&lt;/strong&gt;: 在网络封锁加剧时，IPLC专线（如速云梯）表现出色，能有效绕过限制。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;网络环境&lt;/strong&gt;: 如果你使用移动或教育网，选BGP中转线路更优，能适配不同运营商，减少延迟和丢包。电信用户可测试各机场节点，选择延迟最低的线路。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;额外建议&lt;/strong&gt;: 便宜梯子人多易堵，尔湾云的高价（24元/月）换来的是顶级稳定性。建议根据使用频率选择月付或年付，同时准备备用机场。&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;如何使用翻墙机场？&lt;/h2&gt;
&lt;p&gt;使用&lt;strong&gt;魔法梯子&lt;/strong&gt;比传统VPN稍复杂，但上手后非常简单。以下是详细步骤：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;注册购买&lt;/strong&gt;: 访问机场官网（&lt;a href=&quot;https://affgo.cc/yafa&quot;&gt;如扬帆云官网 &lt;/a&gt;），注册账号并选择套餐。支付后，你会获得用户面板，包含订阅链接、流量统计和使用说明。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;下载客户端&lt;/strong&gt;: PC推荐 V2rayN 或 Clash，Android 用 Clash 或 Surfboard，iOS 用 Shadowrocket（需海外 Apple ID）。各家翻墙机场官网均提供下载及使用说明。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;导入订阅&lt;/strong&gt;: 登录面板，复制订阅链接，打开客户端，粘贴链接并更新，节点列表会自动加载。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;连接测试&lt;/strong&gt;: 选择低延迟节点（如“日本-50ms”），点击连接，验证谷歌或YouTube是否可用。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;常见问题&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;连接失败&lt;/strong&gt;: 检查订阅是否过期，或换节点测试。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;速度慢&lt;/strong&gt;: 优先选IPLC节点（如速云梯）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;注意事项&lt;/strong&gt;: 订阅链接勿公开，发现异常及时重置。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;新手建议&lt;/strong&gt;: 新手不要上来就订年付套餐，按月订阅购买套餐先行试用。&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;小贴士&lt;/h2&gt;
&lt;p&gt;以下是实用建议，帮助你优化使用体验：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;线路选择&lt;/strong&gt;: IPLC专线抗封锁强，BGP中转适配性好，公网直连最便宜。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;速度评测&lt;/strong&gt;: 50Mbps以上且无断流即可满足4K需求，用客户端测速筛选最佳节点。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;协议选择&lt;/strong&gt;: SS简单，V2Ray丰富，Trojan伪装强，Hysteria适合复杂网络。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;备用方案&lt;/strong&gt;: 重度用户请备用机场，应对突发情况。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;客服与社区&lt;/strong&gt;: 通常机场官网都提供翻墙插件及教程，如果你完全小白，那就选有客服的机场。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;小技巧&lt;/strong&gt;: 定期更新订阅，关注官网公告，避免节点失效。&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;结语&lt;/h2&gt;
&lt;p&gt;2026年，这些稳定的手机电脑科学上外网的梯子加速器凭借各自优势，成为&lt;strong&gt;翻墙机场&lt;/strong&gt;中的顶尖选择。无论你是新手还是老手，这些&lt;strong&gt;VPN梯子&lt;/strong&gt;都能满足需求。快选一款&lt;strong&gt;魔法梯子&lt;/strong&gt;，畅享高速、无界网络吧！&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;免责声明： 本文所介绍的机场梯子VPN请只限用于正常外贸商务、新媒体、游戏娱乐、学习交流，切勿用在违法犯罪用途，用户请自觉遵守当地法律法规，出现一切后果本项目作者概不负责。&lt;/p&gt;
&lt;p&gt;2026梯子推荐，翻墙机场 ，机场推荐 ，SS/SSR/机场，机场加速器购买，V2ray机场梯子，Trojan机场 ，Clash节点，好用的便宜梯子，翻墙梯子，VPN梯子 ，稳定梯子 ，手机电脑梯子，外网梯子，魔法梯子，油管梯子，科学上网&lt;/p&gt;
&lt;/div&gt;</description><author>acsor</author><pubDate>Sat, 04 Apr 2026 13:05:07 GMT</pubDate></item><item><title>PC 梯子哪个好用？七款海外电脑梯子软件推荐 + 免费试用 + 跨境加速器详细教程</title><link>https://cnodejs.org/topic/69d0b0b1f4e6809d9f4753be</link><guid>https://cnodejs.org/topic/69d0b0b1f4e6809d9f4753be</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;&lt;strong&gt;越来越多的上班族、外贸从业者、程序员、设计师和游戏玩家都需要一台可靠的 PC 电脑梯子来突破网络限制。无论是访问 Google Scholar 查找资料、用 ChatGPT/Claude 高效编程、登录 GitHub 拉取代码、解锁 YouTube 4K 视频，还是在外贸业务中稳定运行 TikTok 广告和 WhatsApp 沟通，一款好用的电脑跨境加速器都能大幅提升效率。本文聚焦 PC 电脑用户需求，精选 7 款经过长期实测、稳定不跑路的国外电脑梯子软件（机场节点），全部支持 Windows/Mac/Linux 系统同时，也支持手机的科学上网梯子，提供免费试用或低价月付入口，同时附上最详细的 pc 电脑梯子怎么用教程，帮助你快速上手。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://p.inari.site/usr/1819/698d26e2168ce.png&quot;&gt;&lt;img src=&quot;https://p.inari.site/usr/1819/698d26e2168ce.png&quot; alt=&quot;Picture2.png&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;以下机场均采用 SSR/V2Ray/Trojan 等先进协议，节点覆盖香港、台湾、日本、美国、新加坡等主流地区，支持 Clash for Windows、V2rayN、Clash Verge 等主流 PC 客户端一键导入，晚高峰稳定不掉线，完美解锁 Netflix、Disney+、ChatGPT、TikTok 等服务。&lt;/p&gt;
&lt;h2&gt;1.TinnyEwan —— 新人首选高性价比跨境加速器&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://affgo.cc/ewan&quot;&gt;&lt;strong&gt;官方网站注册&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;成立于 2023 年，节点覆盖香港、日本、美国、新加坡、法国等地区，提供 SSR/Trojan 协议。PC 端支持 Clash、V2rayN 一键导入，速度稳定，适合外贸和学习用户。支持支付宝微信支付，月付流量充足，新用户注册支持24小时不满意退款。&lt;/p&gt;
&lt;h2&gt;2.扬帆云 —— 专线品质，晚高峰最稳&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://affgo.cc/yafa&quot;&gt;&lt;strong&gt;官方网站注册&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;2022 年老牌团队出品，采用 IPLC 专线 + 中转技术，节点分布香港、台湾、美国、日本、韩国、法国等地。解锁 Netflix、Disney+ 能力极强，PC 电脑梯子怎么用？只需复制订阅链接到 Clash for Windows，即可一键切换节点。套餐灵活，适合重度流媒体用户。&lt;/p&gt;
&lt;h2&gt;3.疾风云 —— 节点最多、覆盖最广的便宜好用机场&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://affgo.cc/jife&quot;&gt;&lt;strong&gt;官方网站注册&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;节点多达 21 个国家/地区（台湾、美国、法国、新加坡、印度、澳门等），Shadowsocks 协议稳定高效。PC 端兼容性极佳，支持 Windows/Mac/Linux 全平台客户端。价格亲民，常有免费试用活动，是预算有限但想体验国外电脑梯子软件的首选。&lt;/p&gt;
&lt;h2&gt;4.梯云纵 —— 运营七年老牌，综合实力最强&lt;/h2&gt;
&lt;p&gt;七年老机场，节点遍布亚洲、美洲，支持 Netflix、HBO、Disney+、TikTok、ChatGPT 全解锁。通用订阅格式完美兼容 V2rayN、Clash 系列客户端，PC 电脑梯子推荐免费试用的话，梯云纵经常提供新用户免费体验包，稳定性极高，几乎无断流投诉。&lt;/p&gt;
&lt;h2&gt;5.Coconut —— 新锐专线机场，ChatGPT 专属优化&lt;/h2&gt;
&lt;p&gt;2023 年成立，采用 Shadowsocks+IPLC/IEPL 专线，节点覆盖香港、日本、韩国、新加坡、美国、德国、荷兰。特别针对 ChatGPT、MidJourney 等 AI 工具优化，延迟极低。PC 端一键导入订阅，适合程序员和 AI 重度用户。&lt;/p&gt;
&lt;h2&gt;6.龙卷风机场 —— 东南亚节点丰富，低延迟游戏加速&lt;/h2&gt;
&lt;p&gt;2024 年新机场，Trojan 协议节点覆盖泰国、新加坡、越南、马来西亚、土耳其、阿根廷等 16 国。PC 电脑梯子哪个好用？玩国际服游戏选龙卷风准没错，低延迟 + 高稳定，支持支付宝微信，注册即送免费试用流量。&lt;/p&gt;
&lt;h2&gt;7.可乐云 —— 按流量计费，不限时长最灵活&lt;/h2&gt;
&lt;p&gt;按量付费、不限设备、不限时间，国内中转优化 + 全流媒体解锁，节点包括香港、台湾、日本、新加坡、美国。每个地区独立入口服务器，晚高峰速度极佳。适合偶尔使用但追求极致性价比的 PC 用户。&lt;/p&gt;
&lt;h2&gt;PC 电脑梯子怎么用？最详细的新手教程（3 分钟上手）&lt;/h2&gt;
&lt;p&gt;很多朋友问 “pc 电脑梯子怎么用”，其实机场比传统 VPN 更灵活，操作也非常简单： 注册并购买套餐 进入机场官网，注册账号，选择月付或按量套餐（建议新人先选最低价或免费试用）。 下载 PC 客户端 Windows 推荐：Clash for Windows 或 V2rayN Mac 推荐：ClashX 或 V2rayU Linux 推荐：Clash for Linux 导入订阅节点 在机场个人中心复制 “订阅链接”，打开客户端 → 添加订阅 → 粘贴链接 → 更新订阅。 选择节点并连接 在节点列表中选择延迟最低的（建议先用内置测速功能筛选），点击连接即可。连接成功后，全局或规则模式任选（新手建议规则模式，只加速国外网站）。 验证是否成功 打开浏览器访问 &lt;a href=&quot;http://google.com&quot;&gt;google.com&lt;/a&gt; 或 &lt;a href=&quot;http://youtube.com&quot;&gt;youtube.com&lt;/a&gt;，若正常加载即成功。 整个过程无需任何技术基础，机场通常还提供图文/视频教程，比传统国外电脑梯子软件更灵活、速度更快。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PC 梯子哪个好用？以上 7 款国外电脑梯子软件（跨境加速器）都是经过无数用户实测的优质选择，无论是稳定性、速度还是解锁能力都远超普通免费梯子。建议立即访问官网注册免费试用，先亲身体验再决定——选对一款好用的 PC 电脑梯子，能让你的工作效率和娱乐体验提升数倍。&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;</description><author>acsor</author><pubDate>Sat, 04 Apr 2026 06:33:21 GMT</pubDate></item><item><title>稳定梯子推荐：六款手机PC电脑能用的翻墙机场节点梯子VPN</title><link>https://cnodejs.org/topic/69d0a4fdf4e680271f4753a7</link><guid>https://cnodejs.org/topic/69d0a4fdf4e680271f4753a7</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;&lt;strong&gt;国内手机和电脑上外网梯子的机场节点怎么用？- windows/MacOS/Linux等PC电脑系统和苹果安卓等手机系统使用翻墙机场时，将订阅的翻墙节点导入Clash、Shadowrocket（小火箭）、Stash（Clash for iOS）、Quantumult X（圈叉）、Surge、V2rayN、sing-box 等翻墙客户端就可以轻松实现科学上网。今天给大家分享六个pc电脑和手机上都能稳定流畅科学上网的机场节点梯子推荐，这些翻墙机场相较传统的翻墙vpn和网络加速器来说，便宜好用性价比超高，如果你也想买一个便宜的稳定靠谱梯子，那么不妨从这些好用的魔法梯子中选择一个。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://discuss.d2l.ai/uploads/default/original/3X/7/2/7250a7e2f35e11fb46247c70b0a916c19335f67e.jpeg&quot; alt&gt;&lt;/p&gt;
&lt;h3&gt;一、尔湾云-2026最佳稳定梯子&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://affg.cc/ewan&quot;&gt;官网地址&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;推荐指数：⭐⭐⭐⭐⭐⭐&lt;/p&gt;
&lt;p&gt;收费：24 元/月（&lt;a href=&quot;https://affg.cc/ewan&quot;&gt;官网领取七折优惠&lt;/a&gt;）&lt;/p&gt;
&lt;p&gt;简介：尔湾云2022年开始运营。主打高级别线路，虽然定价不算低但是翻墙节点线路质量非常可靠，&lt;strong&gt;敏感期抗封锁能力强&lt;/strong&gt;。这个翻墙机场节点梯子来上外网google谷歌、youtube油管、刷twitter推特以及支持chatgpt、Gemini、Claude等AI模型都完全没有问题。定价虽然24元/月，但是速度靠谱线路稳定，4k视频缓冲不卡顿，你完全可以用它来观看奈飞netflix、迪士尼disney、hbo等流媒体。流量一次性到账，完全不用担心每月剩余流量清零问题。&lt;/p&gt;
&lt;h3&gt;二、扬帆云-安全好用的翻墙机场推荐&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://affg.cc/yafa&quot;&gt;官网地址&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;推荐指数：⭐⭐⭐⭐⭐⭐&lt;/p&gt;
&lt;p&gt;收费：19元/月&lt;/p&gt;
&lt;p&gt;简介：扬帆云机场是在行业中诞生最早的一批电脑翻墙梯子之一，如果有半年以上电脑挂梯子魔法科学上外网经验的小伙伴，对它肯定不陌生。扬帆云在全世界都拥有极高的人气，粉丝群体庞大，真爱粉更是数不胜数。客户端设计也很简洁，几乎不需要翻墙教程，下载后看一眼就会，毕竟就那么几个按钮。作为稳定的老牌机场梯子，价格也并不高，支持解锁流媒体。&lt;/p&gt;
&lt;h3&gt;三、SYCloud速云梯-高性价比电脑手机翻墙梯子推荐&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://affg.cc/suyu&quot;&gt;官网地址&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;推荐指数：⭐⭐⭐⭐⭐&lt;/p&gt;
&lt;p&gt;SYCloud是一款高端翻墙机场节点梯子，由晴天私人珍藏。其上网速度和网络稳定性优秀，成为晴天日常工作、游戏、观影的首选工具。SYCloud以观影速度优化出色而闻名，能够流畅播放4K和8K超高清视频，无卡顿超前缓冲。&lt;/p&gt;
&lt;p&gt;作为一个月收费仅为19元的电脑翻墙梯子软件，SYCloud采用成本极高的IEPL专线，为用户提供出色的观影体验。这种专线机场在观看高清视频时表现出色，支持解锁netflix和Disney等流媒体能够实现秒开视频，流畅播放。同时，SYCloud的翻墙节点还可用于游戏加速，具有极低的延迟。&lt;/p&gt;
&lt;p&gt;SYCloud的运营时间可以追溯到几年前，是一家经验丰富的翻墙机场服务商。其支持Clash（Stash）、Shadowrocket小火箭等插件，是晴天目前使用时间最长的外网梯子。对于新手用户，SYCloud提供完整的科学上网教程和翻墙插件下载使用指导，24小时客服为用户提供便捷的帮助。&lt;/p&gt;
&lt;h3&gt;四、疾风云-靠谱梯子推荐&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://affg.cc/jife&quot;&gt;官网地址&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;推荐指数：⭐⭐⭐⭐&lt;/p&gt;
&lt;p&gt;简介：疾风云也是一款非常好用的电脑科学上网梯子，网速稳定快速收费不贵，&lt;/p&gt;
&lt;h3&gt;五、优信云-小众高速机场&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://affg.cc/uxin&quot;&gt;官网地址&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;推荐指数：⭐⭐⭐⭐&lt;/p&gt;
&lt;p&gt;简介：优信云是新兴Shadowsocks翻墙机场服务，提供隧道中转和IPLC线路，节点分布美、法、日、新、港台等地区。解锁Netflix奈飞等各大流媒体，也支持ChatGPT、TikTok、YouTube等平台。&lt;/p&gt;
&lt;p&gt;客户端方面，优信云机场做的还是很不错的，基本上所有的主流平台都被涵盖了，包括windows电脑，苹果手机，安卓手机，路由器等等，在机场官网下载他们的插件安装包后就能一键导入使用，而且各个客户端都有攻略，简洁明了，看一眼就会。&lt;/p&gt;
&lt;h3&gt;六、三番云-按流量计费机场&lt;/h3&gt;
&lt;p&gt;推荐指数：⭐⭐⭐⭐&lt;/p&gt;
&lt;p&gt;简介：三番云是一家提供高速稳定的网络加速服务的高端机场，支持多种协议，如SS/SSR、V2Ray和Trojan，适用于Windows、Android、macOS和Linux等多种操作系统。它的特点包括流媒体视频和音乐的解锁能力，如Netflix、Disney、Hulu、HBO等，支持ChatGPT，并且在稳定性方面表现良好。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;这六款能在电脑上稳定流畅使用的科学上网软件魔法工具，同样也适用于手机翻墙浏览外网梯子。是这些年自己用过并且感觉还可以的，收费有高有低，但总体来说都是高性价比且安全好用的，选择适合自己的一款翻墙梯子放心用就是。&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;免责声明： 本文所介绍的机场梯子VPN请只限用于正常外贸商务、新媒体、游戏娱乐、学习交流，切勿用在违法犯罪用途，用户请自觉遵守当地法律法规，出现一切后果本项目作者概不负责。&lt;/p&gt;
&lt;p&gt;2026梯子推荐，翻墙机场 ，机场推荐 ，SS/SSR/机场，机场加速器购买，V2ray机场梯子，Trojan机场 ，Clash节点，好用的便宜梯子，翻墙梯子，VPN梯子 ，稳定梯子 ，手机电脑梯子，外网梯子，外贸梯子，油管梯子，AI梯子&lt;/p&gt;
&lt;/div&gt;</description><author>acsor</author><pubDate>Sat, 04 Apr 2026 05:43:25 GMT</pubDate></item><item><title>5 年没回 CNode 水，发现变了</title><link>https://cnodejs.org/topic/69cb6db7cd2d719ccb2cfff2</link><guid>https://cnodejs.org/topic/69cb6db7cd2d719ccb2cfff2</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;之前是挺多人讨论 nodejs，前端这些。
现在剩下了 ai，连招聘也只剩下几个。
全是梯子广告&lt;/p&gt;
&lt;/div&gt;</description><author>Lizhooh</author><pubDate>Tue, 31 Mar 2026 06:46:15 GMT</pubDate></item><item><title>小白教程：使用 Coze 构建漂流瓶匿名社交智能体</title><link>https://cnodejs.org/topic/69afc9e7cd2d71bf242cfde0</link><guid>https://cnodejs.org/topic/69afc9e7cd2d71bf242cfde0</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;本文带你零基础、零代码，快速借助 Coze 平台搭建一个漂流瓶匿名社交智能体，全程操作简单易懂，跟着步骤走就能完成。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;核心功能&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;扔瓶子&lt;/strong&gt;：用户可通过智能体扔出漂流瓶，可用于日常吐槽、分享每日动态、交流经验、倾诉心情等，实现匿名表达。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;捡瓶子&lt;/strong&gt;：用户可通过智能体随机捡起一个漂流瓶，查看他人分享的内容，感受陌生人的情绪与故事，完成匿名社交互动。&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;一、准备工作：免费注册 Coze 账号&lt;/h1&gt;
&lt;p&gt;访问官网免费注册使用：&lt;a href=&quot;https://www.coze.cn/home&quot;&gt;https://www.coze.cn/home&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;二、创建智能体&lt;/h1&gt;
&lt;p&gt;进入 Coze 平台后，点击创建智能体，自定义智能体名称（示例：「YY漂流瓶」），创建完成后进入详情页进行后续设置，操作界面如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s3.cichangelte.com/cichangelte/2026/03/08/d30cb90c-4c32-42db-9ad3-6aabbffa0ffb.png&quot; alt=&quot;创建智能体&quot;&gt;&lt;/p&gt;
&lt;h2&gt;2.1 人设与回复逻辑（直接复制使用）&lt;/h2&gt;
&lt;p&gt;在智能体「人设与回复」模块，复制以下内容粘贴，无需修改，可直接适配漂流瓶核心功能：&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-plaintext&quot;&gt;&lt;code&gt;# 角色：

你是YY漂流瓶，主要功能就2个，用户可以丢一个漂流瓶；用户可以捞起一个漂流瓶。

以实现漂流瓶的匿名社交功能。


## 技能：

使用以下技能之前，都需要保证 token 变量有值，没有token或无效，需要先调用插件“apifm &amp;#x2F; authorize”获取token，获取成功后，输出登录成功的消息，告知当前登录的用户编号

插件参数说明：
- sysUuid 传 sys_uuid 变量的值

###  扔瓶子

如果无法提取到用户经纬度数据，经纬度参数传0，调用插件 bottleMsg_publish 完成扔瓶子，成功后提示用户成功

###  捞瓶子
调用插件 bottleMsg_salvage 

## 限制：
- 只能回复和和上面技能有关的问题
&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;2.2 设置变量&lt;/h2&gt;
&lt;p&gt;变量设置用于存储用户信息和交互所需参数，步骤如下：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;进入「记忆 → 变量」页面，勾选启用 sys_uuid、sys_longitude、sys_latitude 三个系统级变量，分别用于存储用户唯一标识、用户所在经度、用户所在纬度。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;添加用户变量：新增 token 变量，用于存储用户登录凭证，保障登录状态与功能正常使用。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;变量设置完成后效果如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s3.cichangelte.com/cichangelte/2026/03/10/be65569a-5f84-4339-b1e2-5a7b42389de2.png&quot; alt=&quot;设置预览&quot;&gt;&lt;/p&gt;
&lt;h2&gt;2.3 添加插件&lt;/h2&gt;
&lt;p&gt;插件是实现漂流瓶核心功能的关键，进入「技能 → 插件」页面，点击「+」按钮，搜索「apifm」，添加以下3个插件，缺一不可：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;apifm / authorize&lt;/li&gt;
&lt;li&gt;apifm base / bottleMsg_publish&lt;/li&gt;
&lt;li&gt;apifm base / bottleMsg_salvage&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;插件功能说明&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;apifm / authorize：实现用户自动注册登录功能，生成用户唯一凭证，保障用户记忆和个性化服务正常运行。&lt;/li&gt;
&lt;li&gt;apifm base / bottleMsg_publish：实现「扔瓶子」功能，接收用户输入内容并完成漂流瓶发布。&lt;/li&gt;
&lt;li&gt;apifm base / bottleMsg_salvage：实现「捡瓶子」功能，随机获取其他用户发布的漂流瓶内容。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;插件参数设置&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;每个插件右侧均有「齿轮」图标，点击即可进入设置界面，按以下要求配置（关键步骤，请勿出错）：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;apifm / authorize 插件设置设置界面如下：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;sysUuid 参数：直接选中引用系统参数的值（无需手动输入）；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;domain：填写自己的api工厂后台专属域名，填写完成后关闭右侧开关（关闭后，AI将直接使用填写的域名）；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;merchantKey：填写自己的api工厂后台商户密钥，填写完成后关闭右侧开关（关闭后，AI将直接使用填写的密钥）。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;https://s3.cichangelte.com/cichangelte/2026/03/10/2f4319cf-d107-4406-9ea2-901759ef85f7.png&quot; alt=&quot;设置预览&quot;&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;bottleMsg_publish 和 bottleMsg_salvage 插件设置设置界面如下：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;token 参数：直接选中引用系统参数的值（无需手动输入）；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;domain：填写自己的api工厂后台专属域名，填写完成后关闭右侧开关（关闭后，AI将直接使用填写的域名）。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;https://s3.cichangelte.com/cichangelte/2026/03/10/364ef93a-c225-4994-a00c-942b8e53f333.png&quot; alt=&quot;设置预览&quot;&gt;&lt;/p&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;&lt;code&gt;测试账号说明：如果没有自己的api工厂专属域名和商户密钥，可使用以下测试账号进行调试，直接复制填写即可：
domain： wxapi
merchantKey： 1ecf17ea389ebb5ccd5e258e390d3696
&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;2.4 其他设置&lt;/h2&gt;
&lt;p&gt;平台默认设置已可满足漂流瓶基本使用需求，无需额外修改；若需优化体验，可按需调整「开场白」「语音音色」「交互风格」等，让智能体更贴合个人需求或业务场景。&lt;/p&gt;
&lt;h1&gt;三、在线测试与效果预览&lt;/h1&gt;
&lt;p&gt;设置完成后，可通过平台右侧实时测试窗口，模拟用户「扔瓶子」「捡瓶子」操作，边测试边调整参数，直至智能体回复符合预期，测试界面如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s3.cichangelte.com/cichangelte/2026/03/10/cdc09c6a-ce62-4f78-8f34-087f977d34bd.png&quot; alt=&quot;设置预览&quot;&gt;&lt;/p&gt;
&lt;h1&gt;四、正式发布&lt;/h1&gt;
&lt;p&gt;测试无误后，点击页面右上角「发布」按钮，无需审核，发布后即时生效，任何人可直接访问该智能体，进行漂流瓶匿名社交互动。&lt;/p&gt;
&lt;h1&gt;五、效果展示&lt;/h1&gt;
&lt;h2&gt;5.1 扔瓶子效果&lt;/h2&gt;
&lt;p&gt;用户发送扔瓶子指令后，智能体接收内容并完成发布，反馈成功提示，效果如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s3.cichangelte.com/cichangelte/2026/03/10/6f104dec-0d43-40c2-88c6-886438ff4965.png&quot; alt=&quot;扔瓶子&quot;&gt;&lt;/p&gt;
&lt;h2&gt;5.2 捡瓶子效果&lt;/h2&gt;
&lt;p&gt;用户发送捡瓶子指令后，智能体随机获取一个漂流瓶内容并展示，效果如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s3.cichangelte.com/cichangelte/2026/03/10/dbfafd42-bc12-4287-8081-5c4f3e26cdc4.png&quot; alt=&quot;捡瓶子&quot;&gt;&lt;/p&gt;
&lt;h1&gt;总结&lt;/h1&gt;
&lt;p&gt;本教程全程零代码、零基础，通过 Coze 平台快速搭建漂流瓶匿名社交智能体，核心步骤可总结为「注册账号 → 创建智能体 → 配置人设与变量 → 添加插件并设置 → 测试 → 发布」。整个过程操作简单，无需专业技术，借助 Coze 平台的可视化操作和插件功能，即可快速实现匿名漂流瓶的核心社交功能。
测试账号可满足调试需求，若需长期使用，建议注册自己的api工厂账号，获取专属域名和商户密钥，保障功能稳定运行。后续可根据个人需求，优化智能体的交互风格、开场白等细节，提升用户体验。无论是用于个人兴趣交流，还是小型社交场景搭建，这个智能体都能快速落地使用。&lt;/p&gt;
&lt;/div&gt;</description><author>gooking</author><pubDate>Tue, 10 Mar 2026 07:36:07 GMT</pubDate></item><item><title>10 分钟极速上手：使用 Coze 快速搭建可商用级智能客服智能体</title><link>https://cnodejs.org/topic/69ad4d4fcd2d716d0c2cfdd0</link><guid>https://cnodejs.org/topic/69ad4d4fcd2d716d0c2cfdd0</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;本文带你零基础、零代码，用 Coze 平台快速搭建一个可直接上线使用的智能客服智能体。你只需在本文基础上优化人设、完善知识库，即可快速落地产品级客服能力。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;核心功能&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;自动理解用户问题，基于知识库精准回复&lt;/li&gt;
&lt;li&gt;未知问题自动转为用户反馈并后台保存，支持微信 / 钉钉 / 邮件实时通知，持续迭代知识库&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;一、准备工作：免费注册 Coze 账号&lt;/h1&gt;
&lt;p&gt;访问官网免费注册使用：&lt;a href=&quot;https://www.coze.cn/home&quot;&gt;https://www.coze.cn/home&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;二、创建专属知识库&lt;/h1&gt;
&lt;p&gt;&lt;img src=&quot;https://s3.cichangelte.com/cichangelte/2026/03/08/673644df-8c9b-488a-80d9-48592f437324.png&quot; alt=&quot;创建专属知识库&quot;&gt;&lt;/p&gt;
&lt;p&gt;根据业务需求自定义知识库名称，例如「智能客服知识库」。&lt;/p&gt;
&lt;p&gt;Coze 支持绝大多数文档格式，也可直接填入在线文档 URL 自动导入。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;测试知识库示例（可直接复制）&lt;/strong&gt;&lt;/p&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;&lt;code&gt;1）质量检查和软件测试有什么区别？
QA（质量保证）关注软件开发过程的质量；软件测试确保最终产品功能符合用户需求。

2）什么是 Testware？
Testware 是测试用例、测试数据、测试计划等测试相关工件。

3）构建和发布之间有什么区别？
构建：开发团队提供给测试团队的安装包。
发布：测试&amp;#x2F;开发团队交付给客户的正式安装包。

4）SQA 团队在自动化中面临哪些挑战？
自动化工具掌握、脚本复用、用例适配性、复杂用例自动化。

5）什么是漏洞泄漏和漏洞释放？
错误发布：已知缺陷但优先级低，先行交付测试。
错误泄漏：客户发现测试团队未检出的缺陷。

6）什么是数据驱动测试？
从 csv、excel 等文件读取测试数据，在被测系统上自动化执行。
&lt;/code&gt;&lt;/pre&gt;&lt;h1&gt;三、创建智能客服智能体&lt;/h1&gt;
&lt;p&gt;&lt;img src=&quot;https://s3.cichangelte.com/cichangelte/2026/03/08/d30cb90c-4c32-42db-9ad3-6aabbffa0ffb.png&quot; alt=&quot;创建智能客服智能体&quot;&gt;&lt;/p&gt;
&lt;p&gt;自定义智能体名称，例如「智能客服智能体」。&lt;/p&gt;
&lt;h2&gt;3.1 人设与回复逻辑（直接复制使用）&lt;/h2&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;&lt;code&gt;# 角色
你叫小美，是一位资深QA专家，有任何QA方面的问题都可以咨询我。

## 回答主题简介
我是杭州飞的高科技公司的客服人员，帮你提供在线咨询服务。

## 工作流程
### 步骤一：问题理解与回复分析
1. 认真理解从知识库中召回的内容和用户输入的问题，判断是否为有效答案。
2. 若问题模糊、信息不足，主动追问用户，确保准确理解需求。

### 步骤二：回答用户问题
1. 与QA主题无关的问题，礼貌拒绝回答。
2. 知识库无相关内容时，统一回复：
“对不起，我已学习的知识中不包含问题相关内容，暂时无法提供答案。如果你有相关问题，请给我们留言，我们将记录并及时处理。”
并引导用户留下联系方式，通过 comment_add 插件提交反馈，返回记录编号作为回执。
3. 有匹配知识时，仅提取相关内容，整理为**精准、简洁**的答案回复。
4. 按判断返回对应文档链接，无需说明来源。

## 限制
1. 禁止回答与QA无关的问题。
2. 统一使用Markdown格式回复。
&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;3.2 引入知识库&lt;/h2&gt;
&lt;p&gt;在中间栏「知识」点击 +，绑定已创建的知识库。&lt;/p&gt;
&lt;p&gt;用户提问时，智能体会自动检索知识并整理回复。&lt;/p&gt;
&lt;h2&gt;3.3 添加留言反馈插件&lt;/h2&gt;
&lt;p&gt;在「技能 → 插件」点击 +，搜索 apifm，添加 apifm common / comment_add。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;作用：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;智能体无法回答时，自动保存用户问题到后台&lt;/p&gt;
&lt;p&gt;返回反馈编号给用户&lt;/p&gt;
&lt;p&gt;支持微信 / 钉钉 / 邮件实时通知管理员，用于迭代知识库&lt;/p&gt;
&lt;h2&gt;3.4 其他设置&lt;/h2&gt;
&lt;p&gt;默认即可满足使用；可按需调整开场白、语音音色、交互风格等，让智能体更贴合业务。&lt;/p&gt;
&lt;h1&gt;四、在线测试与效果预览&lt;/h1&gt;
&lt;p&gt;&lt;img src=&quot;https://s3.cichangelte.com/cichangelte/2026/03/08/fb3dad8e-9764-442d-ad2d-12d6bdf70002.png&quot; alt=&quot;设置预览&quot;&gt;&lt;/p&gt;
&lt;p&gt;右侧为实时测试窗口，边测边调，直到回复符合预期。&lt;/p&gt;
&lt;h1&gt;五、正式发布&lt;/h1&gt;
&lt;p&gt;点击右上角「发布」，无需审核、即时生效，任何人可直接访问使用。&lt;/p&gt;
&lt;h1&gt;六、效果展示&lt;/h1&gt;
&lt;h2&gt;场景 1：知识库匹配 → 精准回复&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://s3.cichangelte.com/cichangelte/2026/03/08/fa20b34f-200b-4241-873e-533857bc1120.png&quot; alt=&quot;问题一&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s3.cichangelte.com/cichangelte/2026/03/08/77d4f3b6-0fee-4a07-af5c-faf6c3728878.png&quot; alt=&quot;答复一&quot;&gt;&lt;/p&gt;
&lt;h2&gt;场景 2：无知识 → 自动保存反馈并通知&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://s3.cichangelte.com/cichangelte/2026/03/08/cdd8fd7a-04d5-4ae4-90ef-fd427234bd1b.png&quot; alt=&quot;要求提供联系方式&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s3.cichangelte.com/cichangelte/2026/03/08/76a0a239-0a0e-466a-9446-64ee3d8675c5.png&quot; alt=&quot;收录成功&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s3.cichangelte.com/cichangelte/2026/03/08/3cc640e4-aab5-4a91-ae5a-0f40c6163640.png&quot; alt=&quot;后台效果&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s3.cichangelte.com/cichangelte/2026/03/08/8e067c28-4b81-4a66-883c-9c0ada21e3f6.png&quot; alt=&quot;微信提醒&quot;&gt;&lt;/p&gt;
&lt;h1&gt;总结&lt;/h1&gt;
&lt;p&gt;借助 Coze 平台，我们仅用不到 10 分钟就完成了从注册、建库、配置到发布的全流程，快速拥有了一个具备自动问答、未知问题反馈、实时通知、可直接商用的智能客服智能体。整套方案零代码、低成本、易维护，既能大幅降低人工客服压力，又能通过用户反馈持续迭代知识库，让智能体越用越聪明。无论是个人测试、团队效率提升还是企业业务落地，这套流程都具备极强的实用性与可复制性，是快速实现 AI 客服落地的最佳实践之一。&lt;/p&gt;
&lt;/div&gt;</description><author>gooking</author><pubDate>Sun, 08 Mar 2026 10:19:59 GMT</pubDate></item><item><title>基于Uniapp的会员卡储值消费系统开发实践</title><link>https://cnodejs.org/topic/69a551e2cd2d7169382cfd7d</link><guid>https://cnodejs.org/topic/69a551e2cd2d7169382cfd7d</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;在餐饮、校园、社区小店等线下消费场景中，会员卡（饭卡）储值消费系统是提升运营效率、沉淀私域用户的核心工具。很多中小商户想搭建一套适配自身场景的储值消费系统，却常常被复杂的开发流程、高昂的定制成本拦住脚步。今天就从实操角度，聊聊如何基于 Uniapp 快速搭建一套轻量化的会员卡储值消费系统，兼顾实用性与易用性。
为什么选择 Uniapp 开发储值消费系统？
Uniapp 的跨端特性是核心优势 —— 一套代码可同时适配微信小程序、App、H5 等多端，无需为不同终端单独开发，大大降低了开发和维护成本。对于聚焦线下消费场景的储值消费系统来说，多端适配能覆盖用户的不同使用习惯：商户可通过后台管理，用户则能通过小程序快速完成充值、消费，无需下载额外 App，体验更轻量化。
储值消费系统的核心功能设计与实现思路
一套实用的会员卡储值消费系统，无需追求 “大而全”，聚焦核心场景即可满足中小商户的需求，核心可围绕这几个维度设计：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;自助充值与消费：减少人工干预，提升效率
线下消费场景中，人工充值、记账不仅效率低，还容易出现错账、漏账问题。在系统设计时，可开发自助充值模块 —— 用户通过小程序绑定会员卡后，自主选择充值金额、支付方式完成储值；消费时只需出示核销码或刷卡，系统自动扣除对应金额，全程无需店员操作。同时，系统需内置消费规则校验，比如最低消费、储值余额不足提醒等，既保障商户资金安全，也让用户消费更顺畅。&lt;/li&gt;
&lt;li&gt;会员折扣体系：增强用户粘性
单纯的储值功能难以留住用户，会员等级与折扣体系是提升复购的关键。在系统中可设计分级会员机制，比如根据储值金额或消费次数划分普通会员、银卡会员、金卡会员，不同等级对应不同消费折扣。开发时可将折扣规则配置化，商户无需修改代码，就能在后台调整不同等级的折扣比例、生效时间，适配节日促销、日常优惠等不同场景。&lt;/li&gt;
&lt;li&gt;消费记录溯源：透明化提升信任
用户对储值资金的 “安全感”，来自清晰的消费明细。系统需实现消费、储值记录的实时查询功能，每条记录包含时间、金额、消费门店、交易类型等信息，用户可随时查看，商户也能通过后台导出明细对账。技术层面可通过数据库结构化存储交易数据，搭配前端列表渲染和筛选功能，让记录查询更便捷。&lt;/li&gt;
&lt;li&gt;动态消息通知：重要信息不遗漏
商户的优惠活动、系统公告、用户的充值到账提醒、消费通知等，都需要及时触达。系统可集成消息推送功能，支持公告置顶、精准推送，比如用户储值后自动发送到账提醒，商户发布新优惠时推送给对应等级的会员，提升信息触达效率。
轻量化系统的落地实践：兼顾实用性与易维护性
中小商户的系统需求核心是 “好用、好维护”，因此在开发时需避免过度复杂的架构设计：
前端基于 Uniapp 的组件化开发，复用充值、消费、记录查询等核心组件，降低开发成本；
后端采用轻量化框架，聚焦数据存储、交易逻辑校验，无需搭建复杂的分布式架构；
界面设计贴合线下消费场景的使用习惯，简化操作流程，无论是店员还是用户，无需培训就能快速上手。
这套基于 Uniapp 开发的会员卡储值消费系统，正是围绕上述思路打造 —— 聚焦线下消费的核心痛点，用轻量化的技术方案实现自助储值、会员折扣、消费溯源、消息通知等核心功能，既满足商户数字化管理的需求，也让用户的充值消费体验更便捷。
开源项目参考：站在巨人的肩膀上开发
如果想快速落地这套系统，无需从零编写代码，可参考以下开源项目，结合自身场景做二次开发：&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/gooking/mealcard&quot;&gt;GITHUB&lt;/a&gt;
&lt;a href=&quot;https://gitee.com/javazj/mealcard&quot;&gt;码云镜像地址&lt;/a&gt;
&lt;a href=&quot;https://gitcode.com/gooking2/mealcard&quot;&gt;GitCode&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;这些开源项目提供了完整的 Uniapp 前端代码和后端逻辑，涵盖了储值、消费、会员管理等核心功能，可直接部署试用，也能根据商户的具体需求（比如增加门店管理、多端核销等）进行定制开发。
总结
搭建一套轻量化的会员卡储值消费系统，核心是聚焦线下消费的真实场景，用适配的技术方案解决效率、信任、用户粘性等核心问题。Uniapp 的跨端优势让系统适配成本更低，而开源项目则能大幅缩短开发周期，中小商户无需投入高昂成本，也能实现线下消费的数字化管理，助力私域流量运营和客户留存。&lt;/p&gt;
&lt;/div&gt;</description><author>gooking</author><pubDate>Mon, 02 Mar 2026 09:01:22 GMT</pubDate></item><item><title>【北京/西安】Node.js 后端开发工程师</title><link>https://cnodejs.org/topic/69a52d91cd2d719f592cfd65</link><guid>https://cnodejs.org/topic/69a52d91cd2d719f592cfd65</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;岗位职责:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;负责后端系统的开发与维护，保障系统稳定运行；&lt;/li&gt;
&lt;li&gt;参与系统功能模块设计及接口开发，提升系统性能与可扩展性；&lt;/li&gt;
&lt;li&gt;协同团队完成项目开发任务，推动项目按时交付；&lt;/li&gt;
&lt;li&gt;统招本科学历以上；&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;任职资格
1.熟练掌握 TypeScript 语言，能够编写类型安全的代码.
2.熟练掌握 Node.js 或 Bun.js 环境，能够使用 Express、Koa、NestJS 等框架进行后端开发。
3.至少掌握一种ORM框架，如 Sequelize、TypeORM、Prisma等。
4.熟练掌握数据库设计和操作，MySQL、PostgreSQL、Redis、Mongodb 等数据库。
5.熟悉 RESTfuI API 设计，能够设计和实现高效的API接囗,
6.至少有一个完整的0~1后端项目经验，能够独立完成项目开发和部署。
7.熟练掌握 WebSocket、HTTP等协议，能够实现实时通信功能。
8.熟悉 Linux 操作系统常用操作命令，能够进行服务器配置和维护,
9.熟蒸微服务架构，能够使用Docker、kubernetes等容器技术。
10.熟蒸常用消息队列中间件，如 RabbitMQ、Kafka 等。&lt;/p&gt;
&lt;p&gt;加分项:
1.有前端React开发经验，使用过至少一种前端主流框架，能够与前端进行良好协作
2.有大型互联网公司的开发经验，能够熟悉大型公司的开发规范和流程。
3.拥有高并发和高负载系统的开发经验。&lt;/p&gt;
&lt;p&gt;工作地点： 北京 &amp;amp; 西安&lt;/p&gt;
&lt;p&gt;现诚邀各位人才投递简历，目前开放岗位如下：后端 5 个、架构师 1 个，欢迎自荐或推荐。 简历投递：zhigangf@globalcrown.com.cn&lt;/p&gt;
&lt;/div&gt;</description><author>ZhiGang-Fang</author><pubDate>Mon, 02 Mar 2026 06:26:25 GMT</pubDate></item><item><title>WorldEnd.ai —— AI 生成的世界末日预言</title><link>https://cnodejs.org/topic/69a52216cd2d711f582cfd5c</link><guid>https://cnodejs.org/topic/69a52216cd2d711f582cfd5c</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;&lt;a href=&quot;http://WorldEnd.ai&quot;&gt;WorldEnd.ai&lt;/a&gt; 利用最新的大模型来预测世界末日可能出现的各种形式 —— 分析全球风险，并对人类的长期发展轨迹做出发人深省的预测。
这并非为了制造恐慌，而是为了探索、提升风险意识，并就未来展开更深入的对话。&lt;/p&gt;
&lt;p&gt;Website: &lt;a href=&quot;https://worldend.ai&quot;&gt;https://worldend.ai&lt;/a&gt;
GitHub: &lt;a href=&quot;https://github.com/nswbmw/worldend.ai/&quot;&gt;https://github.com/nswbmw/worldend.ai&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;屏幕截图&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://github.com/nswbmw/worldend.ai/raw/master/screenshots/dark.png&quot; alt=&quot;dark&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://github.com/nswbmw/worldend.ai/raw/master/screenshots/light.png&quot; alt=&quot;light&quot;&gt;&lt;/p&gt;
&lt;h2&gt;技术栈&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/hoa-js/hoa&quot;&gt;Hoa&lt;/a&gt; - 轻量级 Web 框架&lt;/li&gt;
&lt;li&gt;Cloudflare Workers - 边缘计算平台&lt;/li&gt;
&lt;li&gt;Cloudflare KV - 缓存&lt;/li&gt;
&lt;li&gt;Cloudflare D1 - 数据库&lt;/li&gt;
&lt;li&gt;Cloudflare R2 - 存储&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>nswbmw</author><pubDate>Mon, 02 Mar 2026 05:37:26 GMT</pubDate></item><item><title>听歌用铜钟 Tonzhon，写 Node.js 牛逼哄哄！</title><link>https://cnodejs.org/topic/69730c33cd2d712a1a2cfbd2</link><guid>https://cnodejs.org/topic/69730c33cd2d712a1a2cfbd2</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;h1&gt;铜钟 Tonzhon 音乐平台官网：&lt;a href=&quot;https://tonzhon.whamon.com/&quot;&gt;https://tonzhon.whamon.com/&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;铜钟 Tonzhon 是一个主打「听歌」功能的 web app, 致力于为人们带来卓越的听歌体验。铜钟有着丰富的音乐资源，干净清爽的 UI 和方便的交互。在铜钟上，你不仅可以方便地找到并聆听你喜欢的歌曲，还可以将它们保存下来。&lt;/p&gt;
&lt;p&gt;铜钟上的一切内容都是与音乐直接相关的，没有广告，社交和直播，不会干扰你的听歌心情。在铜钟上，你可以沉浸到属于你自己一个人的那片天地，忘却世间的纷纷扰扰…&lt;/p&gt;
&lt;p&gt;铜钟 Tonzhon 也推出了 App，小程序 和 铜钟 for Mac or Windows，都在 &lt;a href=&quot;https://tonzhon.whamon.com&quot;&gt;https://tonzhon.whamon.com&lt;/a&gt; 的侧边栏里，欢迎大家试用。&lt;/p&gt;
&lt;h1&gt;GitHub: &lt;a href=&quot;https://github.com/enzeberg/tonzhon-music&quot;&gt;https://github.com/enzeberg/tonzhon-music&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;欢迎大家提需求、提 issue、提 PR…&lt;/p&gt;
&lt;/div&gt;</description><author>enzeberg</author><pubDate>Fri, 23 Jan 2026 05:50:43 GMT</pubDate></item><item><title>[杭州] 阿里云数据可视化 DataV 团队招聘 AI 应用开发工程师</title><link>https://cnodejs.org/topic/6972deb2cd2d715d2e2cfbbd</link><guid>https://cnodejs.org/topic/6972deb2cd2d715d2e2cfbbd</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;h2&gt;职位描述&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;负责 AI 应用与 Agent 工程平台的服务端研发，构建支撑多模型、多智能体、混合云场景部署的 AI 平台基础能力。&lt;/li&gt;
&lt;li&gt;推动 AI 能力的工程化，面向领域 Agent 场景进行可行性分析和原型验证，支撑 DataV 的智能化演进。&lt;/li&gt;
&lt;li&gt;负责 DataV 核心服务的技术方案设计、开发与维护，保障系统在高并发、高可用场景下的稳定性与性能。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;职位要求&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;扎实的服务端工程基础，3 年以上 Node.js / Java Web 开发经验，具备良好的系统设计能力与代码质量意识，能够独立负责中大型系统或核心模块的架构设计与落地。&lt;/li&gt;
&lt;li&gt;对 LLM 与 AI 应用开发有实际理解与实践，理解 LLM 的基本原理、能力边界，具备将 AI 能力工程化的经验。&lt;/li&gt;
&lt;li&gt;有 AI 工程平台、Agent 框架相关经验，理解 Agent 架构与设计思想。自研或使用过主流的开源 AI 框架，有领域 Agent 或复杂 Agent 场景经验优先。&lt;/li&gt;
&lt;li&gt;具备高并发、高可用系统设计与问题排查经验，有云原生、K8S 等相关经验，能够在稳定性、性能与成本之间做出合理技术决策。&lt;/li&gt;
&lt;li&gt;具备良好的跨团队沟通与协作能力，能够推动技术方案从设计到落地。对 AI 工程与服务端技术保持学习和技术进取心，有开源项目经验优先、有 AI Infra 相关经验优先。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;联系： &lt;a href=&quot;mailto:basi.dwz@alibaba-inc.com&quot;&gt;basi.dwz@alibaba-inc.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;也可以直接在线投递简历： &lt;a href=&quot;https://careers.aliyun.com/off-campus/position-detail?lang=zh&amp;amp;positionId=100003263001&amp;amp;trace=qrcode_share&quot;&gt;https://careers.aliyun.com/off-campus/position-detail?lang=zh&amp;amp;positionId=100003263001&amp;amp;trace=qrcode_share&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;</description><author>rockdai</author><pubDate>Fri, 23 Jan 2026 02:36:34 GMT</pubDate></item><item><title>最近 skills 很火，我从收集的6w+ agnet-skills中精选出 1000+好用/实用/有趣的 claude code skills，今天更新中</title><link>https://cnodejs.org/topic/697055f0cd2d71365b2cfb93</link><guid>https://cnodejs.org/topic/697055f0cd2d71365b2cfb93</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;最近 Claude Code skills 很火，对我来说和 agnet 、扣子没啥区别。
能火我感觉主要是扩大了人群使用范围，小白也上手。
每个行业都有 N 多个 skills ，想着做一个导航网站，把鱼龙混杂的 skills 精选出来。
工具目的是解决问题，实用好用才是王道。
去年 12 月注册的域名，纠结拖延快一个月，终于第一版打磨 5 天，要上线了。
好多功能还没加，还有很多 BUG ，希望大家能多给给意见。&lt;/p&gt;
&lt;p&gt;下面体验：
&lt;a href=&quot;https://agent-skills.cc/&quot;&gt;Agent – Claude Code skills 精选导航站&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;</description><author>xiaolige</author><pubDate>Wed, 21 Jan 2026 04:28:32 GMT</pubDate></item><item><title>全栈开发在线接单</title><link>https://cnodejs.org/topic/695f922dcd2d7182502cf648</link><guid>https://cnodejs.org/topic/695f922dcd2d7182502cf648</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;全栈开发在线接单&lt;/p&gt;
&lt;p&gt;专注解决前后端各类开发问题，承接多端定制开发与BUG修复，支持远程一对一技术服务，先做满意再付款，诚信合作。&lt;/p&gt;
&lt;p&gt;前端精通 Vue2/Vue3、React、React Native、Uniapp、Taro 等主流框架，可定制 PC 网页、小程序、APP 及 Electron 桌面端；熟练运用 Nuxt.js、Next.js 进行服务端渲染开发，掌握 WebGL 技术实现交互特效。&lt;/p&gt;
&lt;p&gt;服务端擅长 Java、Nest.js、Node.js、Golang 技术栈，可承接后端架构搭建、接口开发与管理系统开发。&lt;/p&gt;
&lt;p&gt;合作流程规范，可协助梳理需求、出具专属技术方案，高效响应各类开发需求，欢迎咨询洽谈。&lt;/p&gt;
&lt;/div&gt;</description><author>it_zhiijia</author><pubDate>Thu, 08 Jan 2026 11:17:01 GMT</pubDate></item><item><title>为了写代码时省点钱，我撸了个 AI 中转站比价网站 getcheapai.com</title><link>https://cnodejs.org/topic/6959e255cd2d718fdf2cf487</link><guid>https://cnodejs.org/topic/6959e255cd2d718fdf2cf487</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;现在应该都是用 AI 写代码了，然后为了节约成本，我经常找便宜的 AI 中转站，然后发现每家的计费逻辑都不一样：有的是 1:7 兑换，有的是 1:1 积分制，有的倍率是 1，有的又是 3。每次选的时候，光折算真实价格就要来回计算对比，非常心累。&lt;/p&gt;
&lt;p&gt;于是我自己整了个 AI 中转站比价网站 &lt;a href=&quot;https://www.getcheapai.com&quot;&gt;getcheapai.com&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;无论中转站计费方式如何，我全部统一换算成了每百万 Token 的真实人民币价格&lt;/li&gt;
&lt;li&gt;目前收录了十几家主流或者知名的中转站&lt;/li&gt;
&lt;li&gt;每 6 小时更新一次价格确保实时性&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;站内的中转站链接带有我的 AFF，因为这个网站跑在 Cloudflare Workers 里，每个月要花 5 美元。如果介意的话，可以复制链接去掉 AFF。&lt;/p&gt;
&lt;/div&gt;</description><author>lmk123</author><pubDate>Sun, 04 Jan 2026 03:45:25 GMT</pubDate></item><item><title>一个神奇的在线代码执行平台：RunCode</title><link>https://cnodejs.org/topic/693a77f7d36b80ca695c861f</link><guid>https://cnodejs.org/topic/693a77f7d36b80ca695c861f</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;多语言在线代码执行平台&lt;a href=&quot;https://runcode.blendviewer.com/&quot;&gt;RunCode&lt;/a&gt;，支持 60+ 种编程语言，AI辅助编程，智能混合执行架构，即写即运行。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; &lt;strong&gt;智能混合执行&lt;/strong&gt; - 浏览器 WASM + 云端容器，自动选择最佳执行方式&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;60+ 语言支持&lt;/strong&gt; - Python, JavaScript, TypeScript, C/C++, Rust, Go, Java, Haskell, Shell 等&lt;/li&gt;
&lt;li&gt;⚡ &lt;strong&gt;即时执行&lt;/strong&gt; - 热门语言零延迟，浏览器直接运行&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;现代 UI&lt;/strong&gt; - shadcn/ui + Tailwind CSS&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;专业编辑器&lt;/strong&gt; - Monaco Editor&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;主题切换&lt;/strong&gt; - 深色/浅色模式&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;//static.cnodejs.org/FrlaY59V8xx-Gz5tg6HIzAg7lGbK&quot; alt=&quot;Screenshot_11-12-2025_154256_runcode.blendviewer.com.jpeg&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;//static.cnodejs.org/Fskxk2lNsK5faNGRCEYqdRw4AtEF&quot; alt=&quot;Screenshot_11-12-2025_154427_runcode.blendviewer.com.jpeg&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;//static.cnodejs.org/FrL38YUIait9pAm-OiUBDjFvJ0C-&quot; alt=&quot;Screenshot_11-12-2025_154449_runcode.blendviewer.com.jpeg&quot;&gt;&lt;/p&gt;
&lt;/div&gt;</description><author>openrc</author><pubDate>Thu, 11 Dec 2025 07:51:19 GMT</pubDate></item><item><title>如何不踩坑选 VPS？我自己的经验分享</title><link>https://cnodejs.org/topic/693a607ad36b80a7d95c860c</link><guid>https://cnodejs.org/topic/693a607ad36b80a7d95c860c</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;这些年折腾云服务器踩过不少坑：实名卡审核、账号风控、线路不稳、价格虚高……尤其做跨境/自动化/部署项目的，真的经不起服务商“突然抽风”。&lt;/p&gt;
&lt;p&gt;后来总结出一个最稳的方案：&lt;/p&gt;
&lt;p&gt;用大厂（Aliyun/AWS）的稳定性，但通过更快、更灵活的渠道开通。
不需要实名、不等审核、价格也比官网低很多，还能用加密货币避风控。&lt;/p&gt;
&lt;p&gt;我们团队现在长期用的就是这种方式，跑项目一年多都很稳，所以分享给需要低风控、快开通、稳定线路的技术同学参考：&lt;/p&gt;
&lt;p&gt; BaseCloud — 大厂云的快速免实名入口
&lt;a href=&quot;https://www.basecloud.cc/?utm_source=ondeseek&amp;amp;utm_medium=forum&amp;amp;utm_campaign=forum&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://basecloud.cc&quot;&gt;https://basecloud.cc&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;不是硬推，只是减少大家踩坑的成本。技术人时间最贵。&lt;/p&gt;
&lt;/div&gt;</description><author>daoke</author><pubDate>Thu, 11 Dec 2025 06:11:06 GMT</pubDate></item><item><title>Google Gmail RCS TG大量实卡接码及各种冷门项目 支持量大用户api对接</title><link>https://cnodejs.org/topic/6927dcac05080c3871c2b255</link><guid>https://cnodejs.org/topic/6927dcac05080c3871c2b255</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;做跨境团队最头疼的就是支付问题：广告账户被拒付、开卡和充值流程繁琐、账单不清晰、多平台支付难管理……&lt;/p&gt;
&lt;p&gt;**VCC虚拟信用卡（Visa/万事达）**完美解决这些问题：
	•	即开即用：免实名，快速生成，多成员同时使用
	•	多平台支持：FB/Google/TikTok广告、PayPal、AWS、域名、订阅全覆盖
	•	机器人 + 后台：批量开卡、查账、充值自动化，团队管理更高效
	•	账单透明：结算清楚，避免财务混乱
	•	支持加密货币：充值快速，跨境支付无障碍
	•	性价比高：稳定可靠，长期使用更划算&lt;/p&gt;
&lt;p&gt;一句话总结：
跨境广告、电商或独立站团队，有了 VCC，支付更稳定、高效、透明，真的值得用。产品频道：&lt;a href=&quot;https://t.me/+vCIqSgwsBDxiODIy&quot;&gt;https://t.me/+vCIqSgwsBDxiODIy&lt;/a&gt; 联系客服：@KaiDe66BOt&lt;/p&gt;
&lt;/div&gt;</description><author>daoke</author><pubDate>Thu, 27 Nov 2025 05:07:56 GMT</pubDate></item><item><title>Hoa - 一个极简 Web 框架</title><link>https://cnodejs.org/topic/692578af05080cbccbc2b202</link><guid>https://cnodejs.org/topic/692578af05080cbccbc2b202</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;我使用 Koa 很多年了，一直很喜欢它简洁的设计哲学。近几年在 Cloudflare Worker 上开发较多，接触到了 Hono。Hono 也是一个不错的框架，但在深入使用后，我对它的一些设计理念并不是很认同，于是萌生了自己造个轮子的想法。&lt;/p&gt;
&lt;p&gt;我为新框架设定了三条核心原则：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;微内核架构：与 Koa 类似，保留了洋葱模型的中间件设计，同时还补充了插件系统&lt;/li&gt;
&lt;li&gt;符合直觉的 API 设计：摒弃 Koa 的 delegates 思路，API 严格区分 ctx/ctx.req/ctx.res，更加符合语义&lt;/li&gt;
&lt;li&gt;环境无关性：可在 Node.js、Bun、Deno 以及 Cloudflare Worker、Vercel 等边缘环境运行&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;于是 Hoa 诞生了。目前我跟另一个维护者已经为 Hoa 补充了 30+ 常用中间件，我也已经将手头大部分项目从 Koa 迁移至 Hoa。今天分享出来，希望更多人去使用，也期待收到更多反馈，共同把 Hoa 框架打磨得更好。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GitHub: &lt;a href=&quot;https://github.com/hoa-js/hoa&quot;&gt;hoa&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;官网: &lt;a href=&quot;https://hoa-js.com&quot;&gt;hoa-js.com&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;特点&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;⚡ Minimal - Only ~4.4KB (gzipped).&lt;/li&gt;
&lt;li&gt; Zero Dependencies - Built on modern Web Standards with no external dependencies.&lt;/li&gt;
&lt;li&gt;️ Highly Extensible - Features a flexible extension and middleware system.&lt;/li&gt;
&lt;li&gt; Standards-Based - Designed entirely around modern Web Standard APIs.&lt;/li&gt;
&lt;li&gt; Multi-Runtime - The same code runs on Cloudflare Workers, Deno, Bun, Node.js, and more.&lt;/li&gt;
&lt;li&gt;✅ 100% Tested – Backed by a full-coverage automated test suite.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;安装&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language-bash&quot;&gt;&lt;code&gt;npm i hoa --save
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;快速开始&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language-js&quot;&gt;&lt;code&gt;import { Hoa } from &amp;#x27;hoa&amp;#x27;
const app = new Hoa()

app.use(async (ctx, next) =&amp;gt; {
  ctx.res.body = &amp;#x27;Hello, Hoa!&amp;#x27;
})

export default app
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;License&lt;/h3&gt;
&lt;p&gt;MIT&lt;/p&gt;
&lt;/div&gt;</description><author>nswbmw</author><pubDate>Tue, 25 Nov 2025 09:36:47 GMT</pubDate></item><item><title>VonaJS: I18n如何支持Swagger多语言</title><link>https://cnodejs.org/topic/6913f02205080c3402c2b09f</link><guid>https://cnodejs.org/topic/6913f02205080c3402c2b09f</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;VonaJS提供的I18n支持模块化体系。每个业务模块都可以单独提供自己的 I18n 语言资源。我们先了解I18n的一般用法，然后再看看如何支持Swagger多语言&lt;/p&gt;
&lt;h2&gt;初始化代码骨架&lt;/h2&gt;
&lt;p&gt;我们先在模块&lt;code&gt;demo-student&lt;/code&gt;中初始化I18n的代码骨架&lt;/p&gt;
&lt;h3&gt;1. Cli命令&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language-bash&quot;&gt;&lt;code&gt;$ vona :init:locale demo-student
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;2. 菜单命令&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language-bash&quot;&gt;&lt;code&gt;右键菜单 - [模块路径]: &amp;#96;Vona Init&amp;#x2F;Locale&amp;#96;
&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;定义语言资源&lt;/h2&gt;
&lt;p&gt;以模块&lt;code&gt;demo-student&lt;/code&gt;为例，定义模块的语言资源：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;英文&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;src/module/demo-student/src/config/locale/en-us.ts&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-diff&quot;&gt;&lt;code&gt;export default {
+ StudentName: &amp;#x27;Student Name&amp;#x27;,
};
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;中文&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;src/module/demo-student/src/config/locale/zh-cn.ts&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-diff&quot;&gt;&lt;code&gt;export default {
+ StudentName: &amp;#x27;学生名称&amp;#x27;,
};
&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;使用语言资源&lt;/h2&gt;
&lt;p&gt;可以通过 Scope 实例提供的&lt;code&gt;locale&lt;/code&gt;对象获取模块的语言资源，支持类型化提示&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;class ControllerStudent {
  @Web.get(&amp;#x27;test&amp;#x27;)
  test() {
    &amp;#x2F;&amp;#x2F; use current locale
    const message1 = this.scope.locale.StudentName();
    &amp;#x2F;&amp;#x2F; use locale en-us
    const message2 = this.scope.locale.StudentName.locale(&amp;#x27;en-us&amp;#x27;);
    &amp;#x2F;&amp;#x2F; use locale zh-cn
    const message3 = this.scope.locale.StudentName.locale(&amp;#x27;zh-cn&amp;#x27;);
    console.log(message1, message2, message3);
  }
}  
&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;跨模块使用语言资源&lt;/h2&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;class ControllerStudent {
  @Web.get(&amp;#x27;test&amp;#x27;)
  test() {
    &amp;#x2F;&amp;#x2F; use current locale
    const message1 = this.$scope.demoStudent.locale.StudentName();
    &amp;#x2F;&amp;#x2F; use locale en-us
    const message2 = this.$scope.demoStudent.locale.StudentName.locale(&amp;#x27;en-us&amp;#x27;);
    &amp;#x2F;&amp;#x2F; use locale zh-cn
    const message3 = this.$scope.demoStudent.locale.StudentName.locale(&amp;#x27;zh-cn&amp;#x27;);
    console.log(message1, message2, message3);
  }
}  
&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;覆盖语言资源&lt;/h2&gt;
&lt;p&gt;可以使用&lt;code&gt;项目级别&lt;/code&gt;的语言资源覆盖&lt;code&gt;模块级别&lt;/code&gt;的语言资源&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;英文&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;src/backend/config/locale/en-us.ts&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-diff&quot;&gt;&lt;code&gt;export default {
  modules: {
+   &amp;#x27;demo-student&amp;#x27;: {
+     StudentName: &amp;#x27;Student Name!&amp;#x27;,
+   },
  },
};
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;中文&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;src/backend/config/locale/zh-cn.ts&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-diff&quot;&gt;&lt;code&gt;export default {
  modules: {
+   &amp;#x27;demo-student&amp;#x27;: {
+     StudentName: &amp;#x27;学生名称!&amp;#x27;,
+   },
  },
};
&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;当前locale&lt;/h2&gt;
&lt;h3&gt;1. 获取当前locale&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;const locale = this.ctx.locale;
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;2. 设置当前locale&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;this.ctx.locale = &amp;#x27;en-us&amp;#x27;;
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;3. 获取缺省locale&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;const localeDefault = this.$scope.i18n.config.defaultLocale;
&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;获取当前locale的规则&lt;/h2&gt;
&lt;p&gt;当用户访问后端 API 时，后端会自动根据规则获取当前 locale&lt;/p&gt;
&lt;h3&gt;1. 模块配置&lt;/h3&gt;
&lt;p&gt;I18n 是由模块 a-i18n 提供的核心能力，可以在 App config 中修改模块的配置：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;src/backend/config/config/config.ts&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;&amp;#x2F;&amp;#x2F; modules
config.modules = {
  &amp;#x27;a-i18n&amp;#x27;: {
    defaultLocale: &amp;#x27;en-us&amp;#x27;,
    queryField: &amp;#x27;x-vona-locale&amp;#x27;,
    headerField: &amp;#x27;x-vona-locale&amp;#x27;,
    cookieField: &amp;#x27;locale&amp;#x27;,
  },
};
&lt;/code&gt;&lt;/pre&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名称&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;defaultLocale&lt;/td&gt;
&lt;td&gt;Default locale&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;queryField&lt;/td&gt;
&lt;td&gt;从request query中获取当前locale，query key默认为&lt;code&gt;x-vona-locale&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;headerField&lt;/td&gt;
&lt;td&gt;从request header中获取当前locale，header key默认为&lt;code&gt;x-vona-locale&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;cookieField&lt;/td&gt;
&lt;td&gt;从request cookie中获取当前locale，cookie key默认为&lt;code&gt;locale&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;2. 规则次序&lt;/h3&gt;
&lt;p&gt;系统按以下次序，依次判断当前 locale&lt;/p&gt;
&lt;p&gt;&lt;code&gt;queryField&lt;/code&gt; &amp;gt; &lt;code&gt;headerField&lt;/code&gt; &amp;gt; &lt;code&gt;cookieField&lt;/code&gt; &amp;gt; &lt;code&gt;Header: Accept-Language&lt;/code&gt; &amp;gt; &lt;code&gt;defaultLocale&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;添加新语言&lt;/h2&gt;
&lt;p&gt;VonaJS 默认提供了两个语言:&lt;code&gt;en-us&lt;/code&gt;和&lt;code&gt;zh-cn&lt;/code&gt;。下面演示如何添加新语言&lt;code&gt;zh-tw&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;1. 添加类型定义&lt;/h3&gt;
&lt;p&gt;采用接口合并机制添加新语言的类型定义&lt;/p&gt;
&lt;p&gt;在 VSCode 编辑器中，输入代码片段&lt;code&gt;recordlocale&lt;/code&gt;，自动生成代码骨架:&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;declare module &amp;#x27;vona&amp;#x27; {
  export interface ILocaleRecord {
    : never;
  }
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;调整代码，然后添加&lt;code&gt;zh-tw&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-diff&quot;&gt;&lt;code&gt;declare module &amp;#x27;vona&amp;#x27; {
  export interface ILocaleRecord {
+   &amp;#x27;zh-tw&amp;#x27;: never;
  }
}
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;2. 添加语言资源&lt;/h3&gt;
&lt;p&gt;新建语言文件&lt;code&gt;zh-tw.ts&lt;/code&gt;，然后添加语言资源&lt;/p&gt;
&lt;p&gt;&lt;code&gt;src/module/demo-student/src/config/locale/zh-tw.ts&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;export default {
  StudentName: &amp;#x27;學生名稱&amp;#x27;,
};
&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;复数&lt;/h2&gt;
&lt;h3&gt;1. 定义语言资源&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;src/module/demo-student/src/config/locale/en-us.ts&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-diff&quot;&gt;&lt;code&gt;export default {
+ TestApples_: &amp;#x27;%d apples&amp;#x27;,
+ TestApples_0: &amp;#x27;no apples&amp;#x27;,
+ TestApples_1: &amp;#x27;one apple&amp;#x27;,
};
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;src/module/demo-student/src/config/locale/zh-cn.ts&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-diff&quot;&gt;&lt;code&gt;export default {
+ TestApples_: &amp;#x27;%d个苹果&amp;#x27;,
+ TestApples_0: &amp;#x27;没有苹果&amp;#x27;,
};
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;2. 使用语言资源&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;this.ctx.locale = &amp;#x27;en-us&amp;#x27;;
const apple0 = this.scope.locale.TestApples_(0);
const apple1 = this.scope.locale.TestApples_(1);
const apple2 = this.scope.locale.TestApples_(2);
console.log(&amp;#96;${apple0}, ${apple1}, ${apple2}&amp;#96;);
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;控制台输出如下：&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-bash&quot;&gt;&lt;code&gt;no apples, one apple, 2 apples
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;TestApples_&lt;/code&gt;: 缺省语言资源。语言资源添加后缀&lt;code&gt;_&lt;/code&gt;，可以提示开发者该语言资源需要传入参数&lt;/li&gt;
&lt;li&gt;&lt;code&gt;TestApples_{n}&lt;/code&gt;: 可以针对任何具体的&lt;code&gt;n&lt;/code&gt;提供独立的语言资源。系统在进行语言翻译时，如果找不到具体&lt;code&gt;n&lt;/code&gt;的语言资源，就使用缺省语言资源&lt;code&gt;TestApples_&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;复数: 多参数&lt;/h2&gt;
&lt;p&gt;如果语言资源支持多参数，那么可以明确指定哪个参数支持复数&lt;/p&gt;
&lt;h3&gt;1. 定义语言资源&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;src/module/demo-student/src/config/locale/en-us.ts&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-diff&quot;&gt;&lt;code&gt;export default {
+ TestNameApples_: &amp;#x27;%s has %d apples&amp;#x27;,
+ TestNameApples_0_1: &amp;#x27;%s has no apples&amp;#x27;,
+ TestNameApples_1_1: &amp;#x27;%s has one apple&amp;#x27;,
};
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;src/module/demo-student/src/config/locale/zh-cn.ts&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-diff&quot;&gt;&lt;code&gt;export default {
+ TestNameApples_: &amp;#x27;%s有%d个苹果&amp;#x27;,
+ TestNameApples_0_1: &amp;#x27;%s没有苹果&amp;#x27;,
};
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;2. 使用语言资源&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;this.ctx.locale = &amp;#x27;en-us&amp;#x27;;
const apple0 = this.scope.locale.TestNameApples_(&amp;#x27;Tom&amp;#x27;, 0);
const apple1 = this.scope.locale.TestNameApples_(&amp;#x27;Tom&amp;#x27;, 1);
const apple2 = this.scope.locale.TestNameApples_(&amp;#x27;Tom&amp;#x27;, 2);
console.log(&amp;#96;${apple0}, ${apple1}, ${apple2}&amp;#96;);
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;控制台输出如下：&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-bash&quot;&gt;&lt;code&gt;Tom has no apples, Tom has one apple, Tom has 2 apples
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;TestNameApples_&lt;/code&gt;: 缺省语言资源。语言资源添加后缀&lt;code&gt;_&lt;/code&gt;，可以提示开发者该语言资源需要传入参数&lt;/li&gt;
&lt;li&gt;&lt;code&gt;TestNameApples_{n}_{ordinal}&lt;/code&gt;: &lt;code&gt;ordinal&lt;/code&gt;代表参数序数&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Swagger/Openapi&lt;/h2&gt;
&lt;p&gt;VonaJS 提供了一组工具函数，为 Swagger/Openapi 实现 I18n 国际化&lt;/p&gt;
&lt;p&gt;比如，为&lt;code&gt;EntityStudent&lt;/code&gt;的字段&lt;code&gt;name&lt;/code&gt;提供国际化的&lt;code&gt;title&lt;/code&gt;信息&lt;/p&gt;
&lt;h3&gt;1. $localeScope&lt;/h3&gt;
&lt;p&gt;在设置字段 title 信息时，要使用&lt;code&gt;语言资源FullKey&lt;/code&gt;。在实际生成 Swagger/Openapi 元数据时，系统会自动将&lt;code&gt;语言资源FullKey&lt;/code&gt;翻译为指定的语言&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-diff&quot;&gt;&lt;code&gt;+ import { $localeScope } from &amp;#x27;vona&amp;#x27;;

class EntityStudent {
+ @Api.field(v.title($localeScope(&amp;#x27;demo-student&amp;#x27;, &amp;#x27;Name&amp;#x27;)))
  name: string;
}
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;v.title&lt;/code&gt;: 设置 title 信息&lt;/li&gt;
&lt;li&gt;&lt;code&gt;$localeScope&lt;/code&gt;: 传入&lt;code&gt;模块名称&lt;/code&gt;和&lt;code&gt;语言资源Key&lt;/code&gt;，从而生成&lt;code&gt;语言资源FullKey&lt;/code&gt;: &lt;code&gt;demo-student::Name&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;2. $locale&lt;/h3&gt;
&lt;p&gt;VonaJS 还提供了一个简化的工具函数&lt;code&gt;$locale&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-diff&quot;&gt;&lt;code&gt;+ import { $locale } from &amp;#x27;..&amp;#x2F;.metadata&amp;#x2F;index.ts&amp;#x27;;

class EntityStudent {
+ @Api.field(v.title($locale(&amp;#x27;Name&amp;#x27;)))
  name: string;
}
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;$locale&lt;/code&gt;: 传入&lt;code&gt;语言资源Key&lt;/code&gt;，从而生成&lt;code&gt;语言资源FullKey&lt;/code&gt;: &lt;code&gt;demo-student::Name&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;每个模块都提供了$locale 函数，因此，使用本模块的$locale 函数就可以取得模块名称&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;资源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Github：&lt;a href=&quot;https://github.com/vonajs/vona&quot;&gt;https://github.com/vonajs/vona&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;文档：&lt;a href=&quot;https://vona.js.org&quot;&gt;https://vona.js.org&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>zhennann</author><pubDate>Wed, 12 Nov 2025 02:25:38 GMT</pubDate></item><item><title>VonaJS业务抽象层: 验证码体系</title><link>https://cnodejs.org/topic/690805f3f135761521084254</link><guid>https://cnodejs.org/topic/690805f3f135761521084254</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;h1&gt;验证码体系&lt;/h1&gt;
&lt;p&gt;VonaJS的内置模块&lt;code&gt;a-captcha&lt;/code&gt;提供了通用的验证码体系，使用&lt;code&gt;Captcha Provider&lt;/code&gt;支持各种验证码方式，并且使用&lt;code&gt;Captcha Scene&lt;/code&gt;支持不同场景的验证码使用策略&lt;/p&gt;
&lt;h2&gt;特性&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Captcha Provider&lt;/code&gt;：使用&lt;code&gt;Captcha Provider&lt;/code&gt;支持各种验证码方式，如：文字图形验证码、短信验证码，等等&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Captcha Scene&lt;/code&gt;：使用&lt;code&gt;Captcha Scene&lt;/code&gt;支持不同场景的验证码使用策略。比如，在某个场景下，可以在多个 Captcha Provider 中进行轮替，或者根据用户状态使用不同难度的 Captcha Provider，等等&lt;/li&gt;
&lt;li&gt;&lt;code&gt;立即验证&lt;/code&gt;：前端可以对用户输入的验证码进行立即验证。&lt;code&gt;立即验证&lt;/code&gt;之后在提交表单时仍然要进行&lt;code&gt;二次验证&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;表单验证&lt;/code&gt;：前端可以将用户输入的验证码与表单数据一起发往后端验证&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;bean.captcha&lt;/h2&gt;
&lt;p&gt;模块&lt;code&gt;a-captcha&lt;/code&gt;提供了全局 Bean &lt;code&gt;bean.captcha&lt;/code&gt;，可以通过统一的方式使用所有 Provider/Scene 提供的验证码能力&lt;/p&gt;
&lt;p&gt;模块&lt;code&gt;a-captchasimple&lt;/code&gt;提供了一个 Provider &lt;code&gt;a-captchasimple:imageText&lt;/code&gt;，基于&lt;a href=&quot;https://github.com/produck/svg-captcha&quot;&gt;svg-captcha&lt;/a&gt;实现文字图片的验证码能力&lt;/p&gt;
&lt;p&gt;模块&lt;code&gt;a-captchasimple&lt;/code&gt;提供了一个 Scene &lt;code&gt;a-captchasimple:simple&lt;/code&gt;。该 Scene 只使用一个 Provider，即&lt;code&gt;a-captchasimple:imageText&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;下面演示如何使用模块&lt;code&gt;a-captchasimple&lt;/code&gt;提供的验证码能力&lt;/p&gt;
&lt;h3&gt;1. create&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language- typescript&quot;&gt;&lt;code&gt;&amp;#x2F;&amp;#x2F; create captcha
const captcha = await this.bean.captcha.create(&amp;#x27;a-captchasimple:simple&amp;#x27;);
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;返回值类型：&lt;code&gt;ICaptchaData&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;prettyprint language- typescript&quot;&gt;&lt;code&gt;export interface ICaptchaData {
  id: string;
  provider: keyof ICaptchaProviderRecord;
  token?: unknown;
  payload: unknown;
}
&lt;/code&gt;&lt;/pre&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名称&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;id&lt;/td&gt;
&lt;td&gt;本次验证码数据的id标识&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;provider&lt;/td&gt;
&lt;td&gt;本次验证码所使用的Provider名称&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;token&lt;/td&gt;
&lt;td&gt;本次验证码数据的token，用于比对用户输入值。在开发环境可以通过修改系统配置，将token发往前端，用于调试&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;payload&lt;/td&gt;
&lt;td&gt;本次验证码的负载内容，不同的Provider有不同的payload类型&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;2. refresh&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language- typescript&quot;&gt;&lt;code&gt;&amp;#x2F;&amp;#x2F; refresh captcha
const captchaNew = await this.bean.captcha.refresh(captchaId, &amp;#x27;a-captchasimple:simple&amp;#x27;);
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;如果一个 Scene 配置了多个 Provider，那么在刷新 capthca 时可以基于策略选取不同的 Provider&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;3. verify&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language- typescript&quot;&gt;&lt;code&gt;&amp;#x2F;&amp;#x2F; verify captcha
const passed = await this.bean.captcha.verify(captchaId, &amp;#x27;1234&amp;#x27;, &amp;#x27;a-captchasimple:simple&amp;#x27;);
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;4. verifyImmediate&lt;/h3&gt;
&lt;p&gt;前端可以对用户输入的验证码进行&lt;code&gt;立即验证&lt;/code&gt;。&lt;code&gt;立即验证&lt;/code&gt;之后在提交表单时仍然要进行&lt;code&gt;二次验证&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;prettyprint language- typescript&quot;&gt;&lt;code&gt;&amp;#x2F;&amp;#x2F; verifyImmediate captcha
const tokenOrFalse = await this.bean.captcha.verifyImmediate(captchaId, &amp;#x27;1234&amp;#x27;);
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;如果立即验证失败，返回&lt;code&gt;false&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;如果立即验证成功，返回&lt;code&gt;二次token&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;前端需要将&lt;code&gt;二次token&lt;/code&gt;与表单数据一起发往后端进行&lt;code&gt;二次验证&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;interceptor.captchaVerify&lt;/h2&gt;
&lt;p&gt;模块&lt;code&gt;a-captcha&lt;/code&gt;提供了一个局部拦截器&lt;code&gt;a-captcha:captchaVerify&lt;/code&gt;，可以针对 API 启用验证码校验&lt;/p&gt;
&lt;p&gt;&lt;code&gt;src/suite/a-home/modules/home-user/src/controller/passport.ts&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;prettyprint language- diff&quot;&gt;&lt;code&gt;import { Core } from &amp;#x27;vona-module-a-core&amp;#x27;;

class ControllerPassport {
  @Web.post(&amp;#x27;login&amp;#x27;)
+ @Core.captchaVerify({ scene: &amp;#x27;a-captchasimple:simple&amp;#x27; })
  async login(@Arg.body() data) {}
}  
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;@Core.captchaVerify&lt;/code&gt;: 用于使用局部拦截器&lt;code&gt;a-captcha:captchaVerify&lt;/code&gt;，传入需要使用的 Scene 名称&lt;/li&gt;
&lt;li&gt;该拦截器支持&lt;code&gt;表单验证&lt;/code&gt;和&lt;code&gt;二次验证&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Captcha API&lt;/h2&gt;
&lt;p&gt;模块&lt;code&gt;a-captcha&lt;/code&gt;提供了一组&lt;code&gt;开箱即用&lt;/code&gt;的 Captcha API，对&lt;code&gt;bean.captcha&lt;/code&gt;的能力进行了封装&lt;/p&gt;
&lt;p&gt;&lt;code&gt;src/suite-vendor/a-vona/modules/a-captcha/src/controller/captcha.ts&lt;/code&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名称&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;create&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;refresh&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;verifyImmediate&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;为何没有提供&lt;code&gt;verify&lt;/code&gt;API？&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;因为&lt;code&gt;bean.captcha.verify&lt;/code&gt;方法用于局部拦截器&lt;code&gt;a-captcha:captchaVerify&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;参数配置&lt;/h2&gt;
&lt;p&gt;可以在 App Config 中修改模块&lt;code&gt;a-captcha&lt;/code&gt;的参数配置&lt;/p&gt;
&lt;p&gt;&lt;code&gt;src/backend/config/config/config.ts&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;prettyprint language- typescript&quot;&gt;&lt;code&gt;&amp;#x2F;&amp;#x2F; modules
config.modules = {
  &amp;#x27;a-captcha&amp;#x27;: {
    captcha: {
      showToken: false,
    },
    captchaProvider: {
      ttl: 20 * 60 * 1000,
      ttlSecondary: 20 * 60 * 1000,
    },
  },
};
&lt;/code&gt;&lt;/pre&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名称&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;captcha.showToken&lt;/td&gt;
&lt;td&gt;是否显示token。如果为true，就将token发往前端，用于调试。默认为false&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;captchaProvider.ttl&lt;/td&gt;
&lt;td&gt;captcha token的过期时间&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;captchaProvider.ttlSecondary&lt;/td&gt;
&lt;td&gt;二次token的过期时间&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;资源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Github：&lt;a href=&quot;https://github.com/vonajs/vona&quot;&gt;https://github.com/vonajs/vona&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;文档：&lt;a href=&quot;https://vona.js.org/&quot;&gt;https://vona.js.org/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>zhennann</author><pubDate>Mon, 03 Nov 2025 01:31:31 GMT</pubDate></item><item><title>写了N个AI应用，我开发了个极简的LLM提供商编辑器，每个AI应用都用得上</title><link>https://cnodejs.org/topic/690335dcf13576acdc0841a2</link><guid>https://cnodejs.org/topic/690335dcf13576acdc0841a2</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/MatrixAges/ai-sdk-panel/master/images/ai-sdk-panel.png&quot; alt=&quot;ai-sdk-panel 2.png&quot;&gt;&lt;/p&gt;
&lt;p&gt;Github： &lt;a href=&quot;https://github.com/MatrixAges/ai-sdk-panel&quot;&gt;https://github.com/MatrixAges/ai-sdk-panel&lt;/a&gt;
Demo： &lt;a href=&quot;https://stack.matrixages.com/ai-sdk-panel&quot;&gt;https://stack.matrixages.com/ai-sdk-panel&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;做过好几个 AI 应用，发现自己一直在重复造轮子，为每个 AI 应用都开发一套 LLM 提供商编辑器。虽然大部分代码都是复制粘贴过往项目，但也不好管理，于是每天抽出一点时间，花了几个星期把 AI SDK Panel 这个公共组件给开发出来了。&lt;/p&gt;
&lt;p&gt;项目包含全流程的 e2e 测试，基于最新的 Vitest 4.0 Browser Mode 进行测试构建，请放心使用，同时提供了强大的定制化能力，多语言，自定义代理商等。&lt;/p&gt;
&lt;/div&gt;</description><author>MatrixAge</author><pubDate>Thu, 30 Oct 2025 09:54:36 GMT</pubDate></item><item><title>VonaJS AOP编程大杀器：外部切面</title><link>https://cnodejs.org/topic/68fecf98f135765d8c084174</link><guid>https://cnodejs.org/topic/68fecf98f135765d8c084174</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;在VonaJS框架中，AOP编程包括三方面：&lt;code&gt;控制器切面&lt;/code&gt;、&lt;code&gt;内部切面&lt;/code&gt;和&lt;code&gt;外部切面&lt;/code&gt;。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;控制器切面&lt;/code&gt;: 为 Controller 方法切入逻辑，包括：Middleware、Guard、Interceptor、Pipe和Filter&lt;/li&gt;
&lt;li&gt;&lt;code&gt;内部切面&lt;/code&gt;: 在 Class 内部，为任何 Class 的任何方法切入逻辑，包括：AOP Method和魔术方法&lt;/li&gt;
&lt;li&gt;&lt;code&gt;外部切面&lt;/code&gt;: 在不改变 Class 源码的前提下，从外部为任何 Class 的任何方法切入逻辑&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;VonaJS中的&lt;code&gt;外部切面&lt;/code&gt;，可以类比于Spring Boot中的&lt;code&gt;AOP切面&lt;/code&gt;和&lt;code&gt;AOP织入&lt;/code&gt;概念。VonaJS的&lt;code&gt;外部切面&lt;/code&gt;不需要什么&lt;code&gt;前置通知&lt;/code&gt;、&lt;code&gt;后置通知&lt;/code&gt;、&lt;code&gt;异常通知&lt;/code&gt;和&lt;code&gt;环绕通知&lt;/code&gt;，只需提供一个同名方法就可以了。之所以可以这么简洁，是因为使用了洋葱圈模型。&lt;/p&gt;
&lt;p&gt;此外，VonaJS的&lt;code&gt;外部切面&lt;/code&gt;支持完整的类型推断与智能代码提示，开发体感比Spring Boot优雅太多。&lt;/p&gt;
&lt;p&gt;下面，我们就来考察一下VonaJS的&lt;code&gt;外部切面&lt;/code&gt;到底是个什么样？为什么可以成为AOP编程的大杀器&lt;/p&gt;
&lt;h2&gt;创建目标Class&lt;/h2&gt;
&lt;p&gt;可以针对任何 Class 实现外部切面。下面，以 Service 为例，在模块 demo-student 中创建一个 Service &lt;code&gt;test&lt;/code&gt;，代码如下：&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;@Service()
export class ServiceTest extends BeanBase {
  private _name: string;

  protected __init__() {
    this._name = &amp;#x27;&amp;#x27;;
  }

  protected async __dispose__() {
    this._name = &amp;#x27;&amp;#x27;;
  }

  get name() {
    return this._name;
  }

  set name(value) {
    this._name = value;
  }

  actionSync(a: number, b: number) {
    return a + b;
  }

  async actionAsync(a: number, b: number) {
    return Promise.resolve(a + b);
  }
}
&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;创建外部切面&lt;/h2&gt;
&lt;p&gt;接下来，创建一个外部切面&lt;code&gt;log&lt;/code&gt;，为 Class &lt;code&gt;ServiceTest&lt;/code&gt;的属性和方法分别提供扩展逻辑&lt;/p&gt;
&lt;h3&gt;1. Cli命令&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language-bash&quot;&gt;&lt;code&gt;$ vona :create:bean aop log --module=demo-student
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;2. 菜单命令&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language-bash&quot;&gt;&lt;code&gt;右键菜单 - [模块路径]: Vona Aspect&amp;#x2F;Aop
&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;AOP定义&lt;/h2&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;import { BeanAopBase } from &amp;#x27;vona&amp;#x27;;
import { Aop } from &amp;#x27;vona-module-a-aspect&amp;#x27;;

@Aop({ match: &amp;#x27;demo-student.service.test&amp;#x27; })
export class AopLog extends BeanAopBase {}
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;@Aop&lt;/code&gt;: 此装饰器用于实现&lt;code&gt;外部切面&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;match&lt;/code&gt;: 用于将 Class &lt;code&gt;AopLog&lt;/code&gt;与 Class &lt;code&gt;ServiceTest&lt;/code&gt;关联，&lt;code&gt;ServiceTest&lt;/code&gt;的 beanFullName 是&lt;code&gt;demo-student.service.test&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名称&lt;/th&gt;
&lt;th&gt;类型&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;match&lt;/td&gt;
&lt;td&gt;string|regexp|(string|regexp)[]&lt;/td&gt;
&lt;td&gt;针对哪些 Class 启用&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;切面：同步方法&lt;/h2&gt;
&lt;p&gt;为&lt;code&gt;ServiceTest#actionSync&lt;/code&gt;输出运行时长&lt;/p&gt;
&lt;p&gt;在 VSCode 编辑器中，输入代码片段&lt;code&gt;aopactionsync&lt;/code&gt;，自动生成代码骨架:&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;action: AopAction&amp;lt;ClassSome, &amp;#x27;action&amp;#x27;&amp;gt; = (_args, next, _receiver) =&amp;gt; {
  return next();
};
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;调整代码，然后添加 log 逻辑&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;actionSync: AopAction&amp;lt;ServiceTest, &amp;#x27;actionSync&amp;#x27;&amp;gt; = (_args, next, _receiver) =&amp;gt; {
  const timeBegin = Date.now();
  const res = next();
  const timeEnd = Date.now();
  console.log(&amp;#x27;actionSync: &amp;#x27;, timeEnd - timeBegin);
  return res;
};
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;actionSync&lt;/code&gt;: 提供与&lt;code&gt;ServiceTest&lt;/code&gt;同名的方法&lt;code&gt;actionSync&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;切面：异步方法&lt;/h2&gt;
&lt;p&gt;为&lt;code&gt;ServiceTest#actionAsync&lt;/code&gt;输出运行时长&lt;/p&gt;
&lt;p&gt;在 VSCode 编辑器中，输入代码片段&lt;code&gt;aopaction&lt;/code&gt;，自动生成代码骨架:&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;action: AopAction&amp;lt;ClassSome, &amp;#x27;action&amp;#x27;&amp;gt; = async (_args, next, _receiver) =&amp;gt; {
  return await next();
};
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;调整代码，然后添加 log 逻辑&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;actionAsync: AopAction&amp;lt;ServiceTest, &amp;#x27;actionAsync&amp;#x27;&amp;gt; = async (_args, next, _receiver) =&amp;gt; {
  const timeBegin = Date.now();
  const res = await next();
  const timeEnd = Date.now();
  console.log(&amp;#x27;actionAsync: &amp;#x27;, timeEnd - timeBegin);
  return res;
};
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;actionAsync&lt;/code&gt;: 提供与&lt;code&gt;ServiceTest&lt;/code&gt;同名的方法&lt;code&gt;actionAsync&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;切面：getter&lt;/h2&gt;
&lt;p&gt;为&lt;code&gt;ServiceTest#get name&lt;/code&gt;输出运行时长&lt;/p&gt;
&lt;p&gt;在 VSCode 编辑器中，输入代码片段&lt;code&gt;aopgetter&lt;/code&gt;，自动生成代码骨架:&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;protected __get_xxx__: AopActionGetter&amp;lt;ClassSome, &amp;#x27;xxx&amp;#x27;&amp;gt; = function (next, _receiver) {
  const value = next();
  return value;
};
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;调整代码，然后添加 log 逻辑&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;protected __get_name__: AopActionGetter&amp;lt;ServiceTest, &amp;#x27;name&amp;#x27;&amp;gt; = function (next, _receiver) {
  const timeBegin = Date.now();
  const value = next();
  const timeEnd = Date.now();
  console.log(&amp;#x27;get name: &amp;#x27;, timeEnd - timeBegin);
  return value;
};
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;__get_name__&lt;/code&gt;: 对应&lt;code&gt;ServiceTest&lt;/code&gt;的 getter 方法&lt;code&gt;get name&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;切面：setter&lt;/h2&gt;
&lt;p&gt;为&lt;code&gt;ServiceTest#set name&lt;/code&gt;输出运行时长&lt;/p&gt;
&lt;p&gt;在 VSCode 编辑器中，输入代码片段&lt;code&gt;aopsetter&lt;/code&gt;，自动生成代码骨架:&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;protected __set_xxx__: AopActionSetter&amp;lt;ClassSome, &amp;#x27;xxx&amp;#x27;&amp;gt; = function (value, next, _receiver) {
  return next(value);
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;调整代码，然后添加 log 逻辑&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;protected __set_name__: AopActionSetter&amp;lt;ServiceTest, &amp;#x27;name&amp;#x27;&amp;gt; = function (value, next, _receiver) {
  const timeBegin = Date.now();
  const res = next(value);
  const timeEnd = Date.now();
  console.log(&amp;#x27;set name: &amp;#x27;, timeEnd - timeBegin);
  return res;
};
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;__set_name__&lt;/code&gt;: 对应&lt;code&gt;ServiceTest&lt;/code&gt;的 setter 方法&lt;code&gt;set name&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;切面：&lt;code&gt;__init__&lt;/code&gt;&lt;/h2&gt;
&lt;p&gt;为&lt;code&gt;ServiceTest#__init__&lt;/code&gt;输出运行时长&lt;/p&gt;
&lt;p&gt;在 VSCode 编辑器中，输入代码片段&lt;code&gt;aopinit&lt;/code&gt;，自动生成代码骨架:&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;protected __init__: AopActionInit&amp;lt;ClassSome&amp;gt; = (_args, next, _receiver) =&amp;gt; {
  next();
};
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;调整代码，然后添加 log 逻辑&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;protected __init__: AopActionInit&amp;lt;ServiceTest&amp;gt; = (_args, next, _receiver) =&amp;gt; {
  const timeBegin = Date.now();
  next();
  const timeEnd = Date.now();
  console.log(&amp;#x27;__init__: &amp;#x27;, timeEnd - timeBegin);
};
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;__init__&lt;/code&gt;: 提供与&lt;code&gt;ServiceTest&lt;/code&gt;同名的方法&lt;code&gt;__init__&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;切面：&lt;code&gt;__dispose__&lt;/code&gt;&lt;/h2&gt;
&lt;p&gt;为&lt;code&gt;ServiceTest#__dispose__&lt;/code&gt;输出运行时长&lt;/p&gt;
&lt;p&gt;在 VSCode 编辑器中，输入代码片段&lt;code&gt;aopdispose&lt;/code&gt;，自动生成代码骨架:&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;protected __dispose__: AopActionDispose&amp;lt;ClassSome&amp;gt; = async (_args, next, _receiver) =&amp;gt; {
  await next();
};
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;调整代码，然后添加 log 逻辑&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;protected __dispose__: AopActionDispose&amp;lt;ServiceTest&amp;gt; = async (_args, next, _receiver) =&amp;gt; {
  const timeBegin = Date.now();
  await next();
  const timeEnd = Date.now();
  console.log(&amp;#x27;__dispose__: &amp;#x27;, timeEnd - timeBegin);
};
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;__dispose__&lt;/code&gt;: 提供与&lt;code&gt;ServiceTest&lt;/code&gt;同名的方法&lt;code&gt;__dispose__&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;切面：&lt;code&gt;__get__&lt;/code&gt;&lt;/h2&gt;
&lt;p&gt;为&lt;code&gt;ServiceTest&lt;/code&gt;扩展魔术方法&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;参见: &lt;a href=&quot;https://vona.js.org/zh/guide/aop/internal/magic-method.html&quot;&gt;魔术方法&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;在 VSCode 编辑器中，输入代码片段&lt;code&gt;aopget&lt;/code&gt;，自动生成代码骨架:&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;protected __get__: AopActionGet&amp;lt;ClassSome&amp;gt; = (_prop, next, _receiver) =&amp;gt; {
  const value = next();
  return value;
};
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;调整代码，然后添加自定义字段&lt;code&gt;red&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;protected __get__: AopActionGet&amp;lt;ServiceTest&amp;gt; = (prop, next, _receiver) =&amp;gt; {
  if (prop === &amp;#x27;red&amp;#x27;) return &amp;#x27;#FF0000&amp;#x27;;
  const value = next();
  return value;
};
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;__get__&lt;/code&gt;: 约定的魔术方法名称&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;通过接口类型合并的机制为颜色提供类型定义&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;declare module &amp;#x27;vona-module-demo-student&amp;#x27; {
  export interface ServiceTest {
    red: string;
  }
}
&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;切面：&lt;code&gt;__set__&lt;/code&gt;&lt;/h2&gt;
&lt;p&gt;为&lt;code&gt;ServiceTest&lt;/code&gt;扩展魔术方法&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;参见: &lt;a href=&quot;https://vona.js.org/zh/guide/aop/internal/magic-method.html&quot;&gt;魔术方法&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;在 VSCode 编辑器中，输入代码片段&lt;code&gt;aopset&lt;/code&gt;，自动生成代码骨架:&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;protected __set__: AopActionSet&amp;lt;ClassSome&amp;gt; = (_prop, value, next, _receiver) =&amp;gt; {
  return next(value);
};
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;调整代码，为自定义字段&lt;code&gt;red&lt;/code&gt;设置值&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;private _colorRed: string | undefined;

protected __set__: AopActionSet&amp;lt;ServiceTest&amp;gt; = (prop, value, next, _receiver) =&amp;gt; {
  if (prop === &amp;#x27;red&amp;#x27;) {
    this._colorRed = value;
    return true;
  }
  return next(value);
};
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;__set__&lt;/code&gt;: 约定的魔术方法名称&lt;/li&gt;
&lt;li&gt;如果为&lt;code&gt;prop&lt;/code&gt;设置了值，返回&lt;code&gt;true&lt;/code&gt;，否则调用&lt;code&gt;next&lt;/code&gt;方法&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;然后调整&lt;code&gt;__get__&lt;/code&gt;的逻辑:&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-diff&quot;&gt;&lt;code&gt;protected __get__: AopActionGet&amp;lt;ServiceTest&amp;gt; = (prop, next, _receiver) =&amp;gt; {
- if (prop === &amp;#x27;red&amp;#x27;) return &amp;#x27;#FF0000&amp;#x27;;
+ if (prop === &amp;#x27;red&amp;#x27;) return this._colorRed;
  const value = next();
  return value;
}
&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;切面：&lt;code&gt;__method__&lt;/code&gt;&lt;/h2&gt;
&lt;p&gt;为&lt;code&gt;ServiceTest&lt;/code&gt;的任何方法扩展逻辑&lt;/p&gt;
&lt;p&gt;在 VSCode 编辑器中，输入代码片段&lt;code&gt;aopmethod&lt;/code&gt;，自动生成代码骨架:&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;protected __method__: AopActionMethod&amp;lt;ClassSome&amp;gt; = (_method, _args, next, _receiver) =&amp;gt; {
  return next();
};
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;调整代码，然后为方法&lt;code&gt;actionSync&lt;/code&gt;和&lt;code&gt;actionAsync&lt;/code&gt;添加 log 逻辑&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;protected __method__: AopActionMethod&amp;lt;ServiceTest&amp;gt; = (method, _args, next, _receiver) =&amp;gt; {
  if (method !== &amp;#x27;actionSync&amp;#x27; &amp;amp;&amp;amp; method !== &amp;#x27;actionAsync&amp;#x27;) {
    return next();
  }
  const timeBegin = Date.now();
  function done(res) {
    const timeEnd = Date.now();
    console.log(&amp;#96;method ${method}: &amp;#96;, timeEnd - timeBegin);
    return res;
  }
  const res = next();
  if (res?.then) {
    return res.then((res: any) =&amp;gt; {
      return done(res);
    });
  }
  return done(res);
};
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;__method__&lt;/code&gt;: 约定的魔术方法名称&lt;/li&gt;
&lt;li&gt;&lt;code&gt;res?.then&lt;/code&gt;: 判断返回值是否是 Promise 对象，进行不同处理，从而兼容&lt;code&gt;同步方法&lt;/code&gt;和&lt;code&gt;异步方法&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;AOP顺序&lt;/h2&gt;
&lt;p&gt;针对同一个目标 Class，可以关联多个 AOP。所以，VonaJS 提供了两个参数，用于控制 AOP 的执行顺序&lt;/p&gt;
&lt;h3&gt;1. dependencies&lt;/h3&gt;
&lt;p&gt;比如，还有一个 AOP &lt;code&gt;demo-student:log3&lt;/code&gt;，我们希望执行顺序如下：&lt;code&gt;demo-student:log3&lt;/code&gt; &amp;gt; &lt;code&gt;Current&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-diff&quot;&gt;&lt;code&gt;@Aop({
  match: &amp;#x27;demo-student.service.test&amp;#x27;,
+ dependencies: &amp;#x27;demo-student:log3&amp;#x27;,
})
class AopLog {}
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;2. dependents&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;dependents&lt;/code&gt;的顺序刚好与&lt;code&gt;dependencies&lt;/code&gt;相反，我们希望执行顺序如下：&lt;code&gt;Current&lt;/code&gt; &amp;gt; &lt;code&gt;demo-student:log3&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-diff&quot;&gt;&lt;code&gt;@Aop({
  match: &amp;#x27;demo-student.service.test&amp;#x27;,
+ dependents: &amp;#x27;demo-student:log3&amp;#x27;,
})
class AopLog {}
&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;AOP启用/禁用&lt;/h2&gt;
&lt;p&gt;可以控制 AOP 的&lt;code&gt;启用/禁用&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;1. Enable&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;src/backend/config/config/config.ts&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-diff&quot;&gt;&lt;code&gt;&amp;#x2F;&amp;#x2F; onions
config.onions = {
  aop: {
    &amp;#x27;demo-student:log&amp;#x27;: {
+     enable: false,
    },
  },
};
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;2. Meta&lt;/h3&gt;
&lt;p&gt;可以让 AOP 在指定的运行环境生效&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名称&lt;/th&gt;
&lt;th&gt;类型&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;flavor&lt;/td&gt;
&lt;td&gt;string|string[]&lt;/td&gt;
&lt;td&gt;参见: &lt;a href=&quot;https://vona.js.org/zh/guide/env-config/mode-flavor/introduction.html&quot;&gt;运行环境与Flavor&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;mode&lt;/td&gt;
&lt;td&gt;string|string[]&lt;/td&gt;
&lt;td&gt;参见: &lt;a href=&quot;https://vona.js.org/zh/guide/env-config/mode-flavor/introduction.html&quot;&gt;运行环境与Flavor&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;举例&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;prettyprint language-diff&quot;&gt;&lt;code&gt;@Aop({
+ meta: {
+   flavor: &amp;#x27;normal&amp;#x27;,
+   mode: &amp;#x27;dev&amp;#x27;,
+ },
})
class AopLog {}
&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;查看当前生效的AOP清单&lt;/h2&gt;
&lt;p&gt;可以直接在目标 Class action 中输出当前生效的 AOP 清单&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-diff&quot;&gt;&lt;code&gt;class ServiceTest {
  protected async __dispose__() {
+   this.bean.onion.aop.inspect();
    this._name = &amp;#x27;&amp;#x27;;
  }
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;this.bean.onion&lt;/code&gt;: 取得全局 Service 实例 &lt;code&gt;onion&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.aop&lt;/code&gt;: 取得与 AOP 相关的 Service 实例&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.inspect&lt;/code&gt;: 输出当前生效的 AOP 清单&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;当方法被执行时，会自动在控制台输出当前生效的 AOP 清单，效果如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;//static.cnodejs.org/Flvhc_kARVcds62MZFbz4C85m5zk&quot; alt=&quot;aop-1.png&quot;&gt;&lt;/p&gt;
&lt;h2&gt;资源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Github：&lt;a href=&quot;https://github.com/vonajs/vona&quot;&gt;https://github.com/vonajs/vona&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;文档：&lt;a href=&quot;https://vona.js.org/&quot;&gt;https://vona.js.org/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>zhennann</author><pubDate>Mon, 27 Oct 2025 01:49:12 GMT</pubDate></item><item><title>VonaJS AOP编程：魔术方法</title><link>https://cnodejs.org/topic/68f97e0ef135761d470840a6</link><guid>https://cnodejs.org/topic/68f97e0ef135761d470840a6</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;在VonaJS框架中，AOP编程包括三方面：&lt;code&gt;控制器切面&lt;/code&gt;、&lt;code&gt;内部切面&lt;/code&gt;和&lt;code&gt;外部切面&lt;/code&gt;。&lt;code&gt;内部切面&lt;/code&gt;包括两个能力：&lt;code&gt;AOP Method&lt;/code&gt;和&lt;code&gt;魔术方法&lt;/code&gt;。这里我们简要介绍一下&lt;code&gt;魔术方法&lt;/code&gt;的用法。&lt;/p&gt;
&lt;h2&gt;魔术方法&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;魔术方法&lt;/code&gt;，允许我们在 Class 内部通过&lt;code&gt;__get__&lt;/code&gt;和&lt;code&gt;__set__&lt;/code&gt;切入动态属性或方法&lt;/p&gt;
&lt;h2&gt;举例：Module Scope&lt;/h2&gt;
&lt;p&gt;为了让 IOC 容器的使用更加简洁和直观，VonaJS 推荐优先使用&lt;code&gt;依赖查找&lt;/code&gt;策略，从而使用更少的装饰器函数，使用更少的类型标注。通过&lt;code&gt;Module Scope&lt;/code&gt;对象访问模块提供的资源，就是践行&lt;code&gt;依赖查找策略&lt;/code&gt;的机制之一&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;参见: &lt;a href=&quot;https://vona.js.org/zh/guide/essentials/scope/introduction.html&quot;&gt;模块Scope&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;比如，模块 demo-student 中有一个 model &lt;code&gt;student&lt;/code&gt;，用于 crud 操作。可以这样使用 model：&lt;/p&gt;
&lt;pre class=&quot;prettyprint language- typescript&quot;&gt;&lt;code&gt;import { ModelStudent } from &amp;#x27;..&amp;#x2F;model&amp;#x2F;student.ts&amp;#x27;;

async findMany(params) {
  const model = this.bean._getBean(ModelStudent);
  return await model.selectAndCount(params);
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;使用魔术方法：&lt;/p&gt;
&lt;pre class=&quot;prettyprint language- typescript&quot;&gt;&lt;code&gt;async findMany(params) {
  return await this.scope.model.student.selectAndCount(params);
}
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;this.scope.model.xxx&lt;/code&gt;: 通过魔术方法动态获取当前模块中的 model 实例&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;举例：CRUD(魔术方法)&lt;/h2&gt;
&lt;p&gt;Vona ORM 采用魔术方法的机制进一步简化操作数据的代码&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;参见: &lt;a href=&quot;https://vona.js.org/zh/guide/techniques/orm/crud-magic.html&quot;&gt;CRUD(魔术方法)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;比如，通过字段&lt;code&gt;id&lt;/code&gt;查询学生信息，代码如下：&lt;/p&gt;
&lt;pre class=&quot;prettyprint language- typescript&quot;&gt;&lt;code&gt;async findOne(id) {
  return await this.scope.model.student.get({ id });
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;使用魔术方法：&lt;/p&gt;
&lt;pre class=&quot;prettyprint language- typescript&quot;&gt;&lt;code&gt;async findOne(id) {
  return await this.scope.model.student.getById(id);
}
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;系统自动从 method name &lt;code&gt;getById&lt;/code&gt;中解析出参数&lt;code&gt;id&lt;/code&gt;，然后调用实际的 CRUD 方法，这里就是: &lt;code&gt;get({ id })&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;创建Class&lt;/h2&gt;
&lt;p&gt;可以在任何 Class 中实现魔术方法。下面，以 Service 为例，在模块 demo-student 中创建一个 Service &lt;code&gt;color&lt;/code&gt;，代码如下：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;如何创建 Service，参见: &lt;a href=&quot;https://vona.js.org/zh/guide/essentials/api/service.html&quot;&gt;Service&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;prettyprint language- typescript&quot;&gt;&lt;code&gt;import { BeanBase } from &amp;#x27;vona&amp;#x27;;
import { Service } from &amp;#x27;vona-module-a-bean&amp;#x27;;

@Service()
export class ServiceColor extends BeanBase {}
&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;&lt;code&gt;__get__&lt;/code&gt;&lt;/h2&gt;
&lt;p&gt;然后，通过&lt;code&gt;__get__&lt;/code&gt;实现颜色值的获取&lt;/p&gt;
&lt;h3&gt;1. 添加代码骨架&lt;/h3&gt;
&lt;p&gt;在 VSCode 编辑器中，输入代码片段&lt;code&gt;aopmagicget&lt;/code&gt;，自动生成代码骨架:&lt;/p&gt;
&lt;pre class=&quot;prettyprint language- diff&quot;&gt;&lt;code&gt;@Service()
export class ServiceColor extends BeanBase {
+ protected __get__(prop: string) {}
}
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;2. 实现自定义逻辑&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language- diff&quot;&gt;&lt;code&gt;@Service()
export class ServiceColor extends BeanBase {
+ private _colors = {
+   red: &amp;#x27;#FF0000&amp;#x27;,
+   green: &amp;#x27;#00FF00&amp;#x27;,
+   blue: &amp;#x27;#0000FF&amp;#x27;,
+ };

  protected __get__(prop: string) {
+   return this._colors[prop];
  }
}
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;3. 添加类型合并&lt;/h3&gt;
&lt;p&gt;通过接口类型合并的机制为颜色提供类型定义&lt;/p&gt;
&lt;pre class=&quot;prettyprint language- typescript&quot;&gt;&lt;code&gt;export interface ServiceColor {
  red: string;
  green: string;
  blue: string;
}
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;4. 使用魔术方法&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;async test() {
  console.log(this.scope.service.color.red);
  console.log(this.scope.service.color.green);
  console.log(this.scope.service.color.blue);
}
&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;&lt;code&gt;__set__&lt;/code&gt;&lt;/h2&gt;
&lt;p&gt;然后，通过&lt;code&gt;__set__&lt;/code&gt;实现颜色值的设置&lt;/p&gt;
&lt;h3&gt;1. 添加代码骨架&lt;/h3&gt;
&lt;p&gt;在 VSCode 编辑器中，输入代码片段&lt;code&gt;aopmagicset&lt;/code&gt;，自动生成代码骨架:&lt;/p&gt;
&lt;pre class=&quot;prettyprint language- diff&quot;&gt;&lt;code&gt;@Service()
export class ServiceColor extends BeanBase {
+ protected __set__(prop: string, value: any): boolean {
+   return false;
+ }
}
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;2. 实现自定义逻辑&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language- diff&quot;&gt;&lt;code&gt;@Service()
export class ServiceColor extends BeanBase {
  private _colors = {
    red: &amp;#x27;#FF0000&amp;#x27;,
    green: &amp;#x27;#00FF00&amp;#x27;,
    blue: &amp;#x27;#0000FF&amp;#x27;,
+   black: &amp;#x27;&amp;#x27;,
  };

  protected __set__(prop: string, value: any): boolean {
+   if (this._colors[prop] === undefined) return false;
+   this._colors[prop] = value;
+   return true;
  }
}
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;如果为&lt;code&gt;prop&lt;/code&gt;设置了值，返回&lt;code&gt;true&lt;/code&gt;，否则返回&lt;code&gt;false&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;3. 添加类型合并&lt;/h3&gt;
&lt;p&gt;通过接口类型合并的机制为颜色提供类型定义&lt;/p&gt;
&lt;pre class=&quot;prettyprint language- diff&quot;&gt;&lt;code&gt;export interface ServiceColor {
  red: string;
  green: string;
  blue: string;
+ black: string;
}
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;4. 使用魔术方法&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;async test() {
  this.scope.service.color.black = &amp;#x27;#000000&amp;#x27;;
  console.log(this.scope.service.color.black);
}
&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;资源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Github：&lt;a href=&quot;https://github.com/vonajs/vona&quot;&gt;https://github.com/vonajs/vona&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;文档：&lt;a href=&quot;https://vona.js.org/&quot;&gt;https://vona.js.org/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>zhennann</author><pubDate>Thu, 23 Oct 2025 00:59:58 GMT</pubDate></item><item><title> 购物/订阅/广告投放/域名服务器，一张虚拟卡轻松付全球！</title><link>https://cnodejs.org/topic/68f09852f13576af38083f00</link><guid>https://cnodejs.org/topic/68f09852f13576af38083f00</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;VCC Visa万事达虚拟信用卡|轻松付全球|跨境支付
适用各种跨境场景，轻松付全球！支持AWS、tiktok、Facebook、Alipay 、Google、paypal、推特、星链、广告投放、域名服务器、 购物、注册、订阅等，覆盖多种消费场景，支持多币种交易、开卡即用、实时到账、极速消费，可自助机器人开卡与开后台管理，支持API对接代理。产品频道：&lt;a href=&quot;https://t.me/+vCIqSgwsBDxiODIy&quot;&gt;https://t.me/+vCIqSgwsBDxiODIy&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;</description><author>daoke</author><pubDate>Thu, 16 Oct 2025 07:01:38 GMT</pubDate></item><item><title> 分享个好用的VPS平台，电商/建站/游戏都能用</title><link>https://cnodejs.org/topic/68eb7145f135767cc7083dc8</link><guid>https://cnodejs.org/topic/68eb7145f135767cc7083dc8</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;最近在折腾建站和游戏服务器，用了好几家VPS，最后留下这个：
BaseCloud｜来自新加坡的VPS聚合平台。&lt;/p&gt;
&lt;p&gt; 聚合阿里云、腾讯云、AWS 等大厂资源，
全球节点都有，国内延迟低，海外（香港、新加坡、日本）跑跨境业务很稳。&lt;/p&gt;
&lt;p&gt;⚙️ 支持一键部署 WordPress、Docker、ERP，
自助升降配、实时监控、原生DDoS防护，
还支持加密货币付款，全程免实名。&lt;/p&gt;
&lt;p&gt; 长期85折标价，不是限时价，账号开通也很快。&lt;/p&gt;
&lt;p&gt;适合做独立站、电商、游戏服、AI部署的都可以试试。&lt;/p&gt;
&lt;p&gt; &lt;a href=&quot;https://www.basecloud.cc/?utm_source=ondeseek&amp;amp;utm_medium=forum&amp;amp;utm_campaign=forum&quot;&gt;BaseCloud 官网直达&lt;/a&gt;BaseCloud 官网直达
 &lt;a href=&quot;https://t.me/+V-BhrqN1hUdiZGQ8&quot;&gt;官方TG频道&lt;/a&gt;官方TG频道 有节点上新和福利活动&lt;/p&gt;
&lt;/div&gt;</description><author>daoke</author><pubDate>Sun, 12 Oct 2025 09:13:41 GMT</pubDate></item><item><title>AOP编程有三大场景：控制器切面，内部切面，外部切面，你get到了吗？</title><link>https://cnodejs.org/topic/68e86dbef135761fe7083d23</link><guid>https://cnodejs.org/topic/68e86dbef135761fe7083d23</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;如果用过NestJS框架都知道，在NestJS框架中AOP编程包括以下几个能力：Middleware、Guard、Interceptor、Pipe、Filter。事实上AOP编程的应用场景更广泛，上述所列5个能力仅仅是AOP编程的子集。下面，我们看看在VonaJS框架中，AOP编程是怎样的。&lt;/p&gt;
&lt;h2&gt;VonaJS AOP编程&lt;/h2&gt;
&lt;p&gt;VonaJS AOP 编程包括三个方面的能力：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;控制器切面&lt;/code&gt;: 为 Controller 方法切入逻辑&lt;/li&gt;
&lt;li&gt;&lt;code&gt;内部切面&lt;/code&gt;: 在 Class 内部，为任何 Class 的任何方法切入逻辑&lt;/li&gt;
&lt;li&gt;&lt;code&gt;外部切面&lt;/code&gt;: 在不改变 Class 源码的前提下，从外部为任何 Class 的任何方法切入逻辑&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;控制器切面&lt;/h2&gt;
&lt;h3&gt;控制器切面清单&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Middleware&lt;/li&gt;
&lt;li&gt;Guard&lt;/li&gt;
&lt;li&gt;Intercepter&lt;/li&gt;
&lt;li&gt;Pipe&lt;/li&gt;
&lt;li&gt;Filter&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;执行时序图&lt;/h3&gt;
&lt;p&gt;控制器切面的执行时序图如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;//static.cnodejs.org/Fsx_N3n61Q2nKWzzXlvCIc5jTrQZ&quot; alt=&quot;aspect-controller.png&quot;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;洋葱模型&lt;/code&gt;: &lt;code&gt;Middleware&lt;/code&gt;和&lt;code&gt;Intercepter&lt;/code&gt;支持&lt;code&gt;洋葱模型&lt;/code&gt;，允许在&lt;code&gt;Controller Action&lt;/code&gt;之前和之后执行切面逻辑&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Middleware&lt;/code&gt;: 针对不同的执行时序节点，系统提供了三种 Middleware: &lt;code&gt;Middleware System&lt;/code&gt;、&lt;code&gt;Middleware Global&lt;/code&gt;和&lt;code&gt;Middleware Local&lt;/code&gt;，从而可以实现更精细化的切面逻辑&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Route Match&lt;/code&gt;: 只有&lt;code&gt;Middleware System&lt;/code&gt;在路由匹配之前执行，其余在路由匹配之后执行&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Filter&lt;/code&gt;: 任何环节抛出异常，都会执行&lt;code&gt;Filter&lt;/code&gt;，从而自定义&lt;code&gt;错误信息&lt;/code&gt;和&lt;code&gt;错误日志&lt;/code&gt;的处理逻辑&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;内部切面&lt;/h2&gt;
&lt;p&gt;内部切面提供两个机制：&lt;code&gt;AOP Method&lt;/code&gt;和&lt;code&gt;魔术方法&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;1. AOP Method&lt;/h3&gt;
&lt;p&gt;直接在 Class Method 上通过装饰器切入逻辑&lt;/p&gt;
&lt;h4&gt;举例：数据库事务&lt;/h4&gt;
&lt;pre class=&quot;prettyprint language-diff&quot;&gt;&lt;code&gt;class ServiceStudent {
+ @Database.transaction()
  async update(id: TableIdentity, student: DtoStudentUpdate) {
    return await this.scope.model.student.updateById(id, student);
  }
}
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;@Database.transaction&lt;/code&gt;：通过&lt;code&gt;AOP Method&lt;/code&gt;机制实现的装饰器，可以直接提供数据库事务能力&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;举例：日志&lt;/h4&gt;
&lt;pre class=&quot;prettyprint language-diff&quot;&gt;&lt;code&gt;class ServiceStudent {
+ @Log()
  async update(id: TableIdentity, student: DtoStudentUpdate) {
    return await this.scope.model.student.updateById(id, student);
  }
}
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;@Log&lt;/code&gt;：通过&lt;code&gt;AOP Method&lt;/code&gt;机制实现的装饰器，可以直接提供日志能力&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;2. 魔术方法&lt;/h3&gt;
&lt;p&gt;可以在 Class 内部通过&lt;code&gt;__get__&lt;/code&gt;和&lt;code&gt;__set__&lt;/code&gt;切入动态属性或方法&lt;/p&gt;
&lt;h4&gt;举例：获取 model 实例&lt;/h4&gt;
&lt;pre class=&quot;prettyprint language-diff&quot;&gt;&lt;code&gt;class ServiceStudent {
  async update(id: TableIdentity, student: DtoStudentUpdate) {
+   return await this.scope.model.student.updateById(id, student);
  }
}
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;this.scope.model.xxx&lt;/code&gt;: 没有使用&lt;code&gt;依赖注入&lt;/code&gt;，而是使用&lt;code&gt;依赖查找&lt;/code&gt;，直接通过 scope 对象获取 model 实例，从而简化代码的书写风格&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;实现思路&lt;/h4&gt;
&lt;p&gt;系统提供了一个 Class &lt;code&gt;ServiceModelResolver&lt;/code&gt;，用于实现 model 实例的动态解析，代码如下：&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;class ServiceModelResolver {
  protected __get__(prop: string) {
    const beanFullName = &amp;#96;${this[SymbolModuleScope]}.model.${prop}&amp;#96;;
    return this.bean._getBean(beanFullName as any);
  }
}
&lt;/code&gt;&lt;/pre&gt;&lt;ol&gt;
&lt;li&gt;当调用&lt;code&gt;this.scope.model.student&lt;/code&gt;时，会自动执行&lt;code&gt;__get__&lt;/code&gt;方法，并且传入参数&lt;code&gt;prop: &apos;student&apos;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;将参数&lt;code&gt;prop&lt;/code&gt;与当前模块名称合并成&lt;code&gt;beanFullName&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;通过&lt;code&gt;beanFullName&lt;/code&gt;从全局容器中获取 model 实例，并返回给调用者&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;外部切面&lt;/h2&gt;
&lt;p&gt;仍以 Class &lt;code&gt;ServiceStudent&lt;/code&gt;的&lt;code&gt;update&lt;/code&gt;方法为例，通过&lt;code&gt;外部切面&lt;/code&gt;来实现日志能力：&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;import { Aop } from &amp;#x27;vona-module-a-aspect&amp;#x27;;

@Aop({ match: &amp;#x27;demo-student.service.student&amp;#x27; })
class AopLog {
  async update(_args: Parameters&amp;lt;any&amp;gt;, next: Function, _receiver: any) {
    const timeBegin = Date.now();
    const res = await next();
    const timeEnd = Date.now();
    console.log(&amp;#x27;time: &amp;#x27;, timeEnd - timeBegin);
    return res;
  }
}
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;@Aop&lt;/code&gt;: 此装饰器用于实现&lt;code&gt;外部切面&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;match&lt;/code&gt;: 用于将 Class &lt;code&gt;AopLog&lt;/code&gt;与 Class &lt;code&gt;ServiceStudent&lt;/code&gt;关联，&lt;code&gt;ServiceStudent&lt;/code&gt;的 beanFullName 是&lt;code&gt;demo-student.service.student&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;update&lt;/code&gt;: 在&lt;code&gt;AopLog&lt;/code&gt;中提供与&lt;code&gt;ServiceStudent&lt;/code&gt;同名的方法&lt;code&gt;update&lt;/code&gt;，实现自定义逻辑即可&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;资源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Github：&lt;a href=&quot;https://github.com/vonajs/vona&quot;&gt;https://github.com/vonajs/vona&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;文档：&lt;a href=&quot;https://vona.js.org/&quot;&gt;https://vona.js.org/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>zhennann</author><pubDate>Fri, 10 Oct 2025 02:21:50 GMT</pubDate></item><item><title>xlsx-handlebars 一个用于处理 XLSX 文件 Handlebars 模板的 Rust 库，支持多平台使</title><link>https://cnodejs.org/topic/68e29d7ff1357663ae083cb7</link><guid>https://cnodejs.org/topic/68e29d7ff1357663ae083cb7</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;h1&gt;xlsx-handlebars&lt;/h1&gt;
&lt;p&gt;&lt;a href=&quot;https://crates.io/crates/xlsx-handlebars&quot;&gt;&lt;img src=&quot;https://img.shields.io/crates/v/xlsx-handlebars.svg&quot; alt=&quot;Crates.io&quot;&gt;&lt;/a&gt;
&lt;a href=&quot;https://docs.rs/xlsx-handlebars&quot;&gt;&lt;img src=&quot;https://docs.rs/xlsx-handlebars/badge.svg&quot; alt=&quot;Documentation&quot;&gt;&lt;/a&gt;
&lt;a href=&quot;https://github.com/sail-sail/xlsx-handlebars#license&quot;&gt;&lt;img src=&quot;https://img.shields.io/crates/l/xlsx-handlebars.svg&quot; alt=&quot;License&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;中文文档 | &lt;a href&gt;English&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;一个用于处理 XLSX 文件 Handlebars 模板的 Rust 库，支持多平台使用：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; Rust 原生&lt;/li&gt;
&lt;li&gt; WebAssembly (WASM)&lt;/li&gt;
&lt;li&gt; npm 包&lt;/li&gt;
&lt;li&gt; Node.js&lt;/li&gt;
&lt;li&gt; Deno&lt;/li&gt;
&lt;li&gt; 浏览器端&lt;/li&gt;
&lt;li&gt; JSR (JavaScript Registry)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;功能特性&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;⚡ &lt;strong&gt;极致性能&lt;/strong&gt;：2.12秒渲染10万行数据（约4.7万行/秒）- 比 Python 快 14-28倍，比 JavaScript 快 7-14倍&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;智能合并&lt;/strong&gt;：自动处理被 XML 标签分割的 Handlebars 语法&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;XLSX 验证&lt;/strong&gt;：内置文件格式验证，确保输入文件有效&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Handlebars 支持&lt;/strong&gt;：完整的模板引擎，支持变量、条件、循环、Helper 函数&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;跨平台&lt;/strong&gt;：Rust 原生 + WASM 支持多种运行时&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;TypeScript&lt;/strong&gt;：完整的类型定义和智能提示&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;零依赖&lt;/strong&gt;：WASM 二进制文件，无外部依赖&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;错误处理&lt;/strong&gt;：详细的错误信息和类型安全的错误处理&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;安装&lt;/h2&gt;
&lt;h3&gt;Rust&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language-bash&quot;&gt;&lt;code&gt;cargo add xlsx-handlebars
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;npm&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language-bash&quot;&gt;&lt;code&gt;npm install xlsx-handlebars
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;Deno&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;import { render_template, init } from &amp;quot;jsr:@sail&amp;#x2F;xlsx-handlebars&amp;quot;;
&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;使用示例&lt;/h2&gt;
&lt;h3&gt;Rust&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language-rust&quot;&gt;&lt;code&gt;use xlsx_handlebars::render_template;
use serde_json::json;

fn main() -&amp;gt; Result&amp;lt;(), Box&amp;lt;dyn std::error::Error&amp;gt;&amp;gt; {
    &amp;#x2F;&amp;#x2F; 读取 XLSX 模板文件
    let template_bytes = std::fs::read(&amp;quot;template.xlsx&amp;quot;)?;
    
    &amp;#x2F;&amp;#x2F; 准备数据
    let data = json!({
        &amp;quot;name&amp;quot;: &amp;quot;张三&amp;quot;,
        &amp;quot;company&amp;quot;: &amp;quot;ABC科技有限公司&amp;quot;,
        &amp;quot;position&amp;quot;: &amp;quot;软件工程师&amp;quot;,
        &amp;quot;projects&amp;quot;: [
            {&amp;quot;name&amp;quot;: &amp;quot;项目A&amp;quot;, &amp;quot;status&amp;quot;: &amp;quot;已完成&amp;quot;},
            {&amp;quot;name&amp;quot;: &amp;quot;项目B&amp;quot;, &amp;quot;status&amp;quot;: &amp;quot;进行中&amp;quot;}
        ],
        &amp;quot;has_bonus&amp;quot;: true,
        &amp;quot;bonus_amount&amp;quot;: 5000
    });
    
    &amp;#x2F;&amp;#x2F; 渲染模板
    let result = render_template(template_bytes, &amp;amp;data)?;
    
    &amp;#x2F;&amp;#x2F; 保存结果
    std::fs::write(&amp;quot;output.xlsx&amp;quot;, result)?;
    
    Ok(())
}
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;JavaScript/TypeScript (Node.js)&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language-javascript&quot;&gt;&lt;code&gt;import init, { render_template } from &amp;quot;xlsx-handlebars&amp;quot;;
import fs from &amp;#x27;fs&amp;#x27;;

async function processTemplate() {
    &amp;#x2F;&amp;#x2F; 初始化 WASM 模块
    await init();
    
    &amp;#x2F;&amp;#x2F; 读取模板文件
    const templateBytes = fs.readFileSync(&amp;quot;template.xlsx&amp;quot;);
    
    &amp;#x2F;&amp;#x2F; 准备数据
    const data = {
        name: &amp;quot;李明&amp;quot;,
        company: &amp;quot;XYZ技术有限公司&amp;quot;,
        position: &amp;quot;高级开发工程师&amp;quot;,
        projects: [
            { name: &amp;quot;E-commerce平台&amp;quot;, status: &amp;quot;已完成&amp;quot; },
            { name: &amp;quot;移动端APP&amp;quot;, status: &amp;quot;开发中&amp;quot; }
        ],
        has_bonus: true,
        bonus_amount: 8000
    };
    
    &amp;#x2F;&amp;#x2F; 渲染模板
    const result = render_template(templateBytes, JSON.stringify(data));
    
    &amp;#x2F;&amp;#x2F; 保存结果
    fs.writeFileSync(&amp;#x27;output.xlsx&amp;#x27;, new Uint8Array(result));
}

processTemplate().catch(console.error);
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;Deno&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language-typescript&quot;&gt;&lt;code&gt;import init, { render_template } from &amp;quot;https:&amp;#x2F;&amp;#x2F;deno.land&amp;#x2F;x&amp;#x2F;xlsx_handlebars&amp;#x2F;mod.ts&amp;quot;;

async function processTemplate() {
    &amp;#x2F;&amp;#x2F; 初始化 WASM 模块
    await init();
    
    &amp;#x2F;&amp;#x2F; 读取模板文件
    const templateBytes = await Deno.readFile(&amp;quot;template.xlsx&amp;quot;);
    
    &amp;#x2F;&amp;#x2F; 准备数据
    const data = {
        name: &amp;quot;王小明&amp;quot;,
        department: &amp;quot;研发部&amp;quot;,
        projects: [
            { name: &amp;quot;智能客服系统&amp;quot;, status: &amp;quot;已上线&amp;quot; },
            { name: &amp;quot;数据可视化平台&amp;quot;, status: &amp;quot;开发中&amp;quot; }
        ]
    };
    
    &amp;#x2F;&amp;#x2F; 渲染模板
    const result = render_template(templateBytes, JSON.stringify(data));
    
    &amp;#x2F;&amp;#x2F; 保存结果
    await Deno.writeFile(&amp;quot;output.xlsx&amp;quot;, new Uint8Array(result));
}

if (import.meta.main) {
    await processTemplate();
}
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;浏览器端&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language-html&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;title&amp;gt;XLSX Handlebars 示例&amp;lt;&amp;#x2F;title&amp;gt;
&amp;lt;&amp;#x2F;head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;input type=&amp;quot;file&amp;quot; id=&amp;quot;fileInput&amp;quot; accept=&amp;quot;.xlsx&amp;quot;&amp;gt;
    &amp;lt;button onclick=&amp;quot;processFile()&amp;quot;&amp;gt;处理模板&amp;lt;&amp;#x2F;button&amp;gt;
    
    &amp;lt;script type=&amp;quot;module&amp;quot;&amp;gt;
        import init, { render_template } from &amp;#x27;.&amp;#x2F;pkg&amp;#x2F;xlsx_handlebars.js&amp;#x27;;
        
        &amp;#x2F;&amp;#x2F; 初始化 WASM
        await init();
        
        window.processFile = async function() {
            const fileInput = document.getElementById(&amp;#x27;fileInput&amp;#x27;);
            const file = fileInput.files[0];
            
            if (!file) return;
            
            const arrayBuffer = await file.arrayBuffer();
            const templateBytes = new Uint8Array(arrayBuffer);
            
            const data = {
                name: &amp;quot;张三&amp;quot;,
                company: &amp;quot;示例公司&amp;quot;
            };
            
            try {
                const result = render_template(templateBytes, JSON.stringify(data));
                
                &amp;#x2F;&amp;#x2F; 下载结果
                const blob = new Blob([new Uint8Array(result)], {
                    type: &amp;#x27;application&amp;#x2F;vnd.openxmlformats-officedocument.wordprocessingml.document&amp;#x27;
                });
                const url = URL.createObjectURL(blob);
                const a = document.createElement(&amp;#x27;a&amp;#x27;);
                a.href = url;
                a.download = &amp;#x27;processed.xlsx&amp;#x27;;
                a.click();
            } catch (error) {
                console.error(&amp;#x27;处理失败:&amp;#x27;, error);
            }
        };
    &amp;lt;&amp;#x2F;script&amp;gt;
&amp;lt;&amp;#x2F;body&amp;gt;
&amp;lt;&amp;#x2F;html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;模板语法&lt;/h2&gt;
&lt;h3&gt;基础变量替换&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language-handlebars&quot;&gt;&lt;code&gt;员工姓名: {{name}}
公司: {{company}}
职位: {{position}}
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;条件渲染&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language-handlebars&quot;&gt;&lt;code&gt;{{#if has_bonus}}
奖金: ¥{{bonus_amount}}
{{else}}
无奖金
{{&amp;#x2F;if}}

{{#unless is_intern}}
正式员工
{{&amp;#x2F;unless}}
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;循环渲染&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language-handlebars&quot;&gt;&lt;code&gt;项目经历:
{{#each projects}}
- {{name}}: {{description}} ({{status}})
{{&amp;#x2F;each}}

技能列表:
{{#each skills}}
{{@index}}. {{this}}
{{&amp;#x2F;each}}
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;Helper 函数&lt;/h3&gt;
&lt;p&gt;内置的 Helper 函数：&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-handlebars&quot;&gt;&lt;code&gt;&amp;lt;!-- 基础 helper --&amp;gt;
{{upper name}}           &amp;lt;!-- 转大写 --&amp;gt;
{{lower company}}        &amp;lt;!-- 转小写 --&amp;gt;
{{len projects}}         &amp;lt;!-- 数组长度 --&amp;gt;
{{#if (eq status &amp;quot;completed&amp;quot;)}}已完成{{&amp;#x2F;if}}    &amp;lt;!-- 相等比较 --&amp;gt;
{{#if (gt score 90)}}优秀{{&amp;#x2F;if}}               &amp;lt;!-- 大于比较 --&amp;gt;
{{#if (lt age 30)}}年轻{{&amp;#x2F;if}}                 &amp;lt;!-- 小于比较 --&amp;gt;

&amp;lt;!-- 字符串拼接 --&amp;gt;
{{concat &amp;quot;你好&amp;quot; &amp;quot; &amp;quot; &amp;quot;世界&amp;quot;}}                    &amp;lt;!-- 字符串拼接 --&amp;gt;
{{concat &amp;quot;总计: &amp;quot; count}}                      &amp;lt;!-- 混合字符串和变量 --&amp;gt;

&amp;lt;!-- Excel 专用 helper --&amp;gt;
{{num employee.salary}}                         &amp;lt;!-- 标记单元格为数字类型 --&amp;gt;
{{formula &amp;quot;=SUM(A1:B1)&amp;quot;}}                      &amp;lt;!-- 静态 Excel 公式 --&amp;gt;
{{formula (concat &amp;quot;=SUM(&amp;quot; (_c) &amp;quot;1:&amp;quot; (_c) &amp;quot;10)&amp;quot;)}} &amp;lt;!-- 使用当前列的动态公式 --&amp;gt;
{{mergeCell &amp;quot;C4:D5&amp;quot;}}                          &amp;lt;!-- 合并单元格 C4 到 D5 --&amp;gt;
{{img logo.data 100 100}}                       &amp;lt;!-- 插入图片，指定宽高 --&amp;gt;

&amp;lt;!-- 列名转换 helper --&amp;gt;
{{toColumnName &amp;quot;A&amp;quot; 5}}                          &amp;lt;!-- A + 5 偏移 = F --&amp;gt;
{{toColumnName (_c) 3}}                         &amp;lt;!-- 当前列向右偏移 3 列 --&amp;gt;
{{toColumnIndex &amp;quot;AA&amp;quot;}}                          &amp;lt;!-- AA 列的索引 = 27 --&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h4&gt;Excel 公式 Helper&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;静态公式&lt;/strong&gt;:&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-handlebars&quot;&gt;&lt;code&gt;&amp;lt;!-- 在 Excel 单元格中 --&amp;gt;
{{formula &amp;quot;=SUM(A1:B1)&amp;quot;}}
{{formula &amp;quot;=AVERAGE(C2:C10)&amp;quot;}}
{{formula &amp;quot;=IF(D1&amp;gt;100,\&amp;quot;高\&amp;quot;,\&amp;quot;低\&amp;quot;)&amp;quot;}}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;使用 &lt;code&gt;concat&lt;/code&gt; 的动态公式&lt;/strong&gt;:&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-handlebars&quot;&gt;&lt;code&gt;&amp;lt;!-- 动态行引用 --&amp;gt;
{{formula (concat &amp;quot;=A&amp;quot; (_r) &amp;quot;*B&amp;quot; (_r))}}

&amp;lt;!-- 动态列引用 --&amp;gt;
{{formula (concat &amp;quot;=SUM(&amp;quot; (_c) &amp;quot;2:&amp;quot; (_c) &amp;quot;10)&amp;quot;)}}

&amp;lt;!-- 复杂动态公式 --&amp;gt;
{{formula (concat &amp;quot;=IF(&amp;quot; (_cr) &amp;quot;&amp;gt;100,\&amp;quot;高\&amp;quot;,\&amp;quot;低\&amp;quot;)&amp;quot;)}}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;可用的位置 helper&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;(_c)&lt;/code&gt; - 当前列字母 (A, B, C, …)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;(_r)&lt;/code&gt; - 当前行号 (1, 2, 3, …)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;(_cr)&lt;/code&gt; - 当前单元格引用 (A1, B2, C3, …)&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;列名转换 Helper&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;toColumnName&lt;/code&gt;&lt;/strong&gt; - 将列名或列索引转换为新的列名，支持偏移量：&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-handlebars&quot;&gt;&lt;code&gt;&amp;lt;!-- 基础用法：从指定列名开始偏移 --&amp;gt;
{{toColumnName &amp;quot;A&amp;quot; 0}}     &amp;lt;!-- A (无偏移) --&amp;gt;
{{toColumnName &amp;quot;A&amp;quot; 5}}     &amp;lt;!-- F (A + 5) --&amp;gt;
{{toColumnName &amp;quot;Z&amp;quot; 1}}     &amp;lt;!-- AA (Z + 1) --&amp;gt;

&amp;lt;!-- 配合当前列使用 --&amp;gt;
{{toColumnName (_c) 3}}    &amp;lt;!-- 当前列向右偏移 3 列 --&amp;gt;

&amp;lt;!-- 动态公式中的应用 --&amp;gt;
{{formula (concat &amp;quot;=SUM(&amp;quot; (_c) &amp;quot;1:&amp;quot; (toColumnName (_c) 3) &amp;quot;1)&amp;quot;)}}
&amp;lt;!-- 示例：如果当前列是 B，生成公式 =SUM(B1:E1) --&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;toColumnIndex&lt;/code&gt;&lt;/strong&gt; - 将列名转换为列索引（1-based）：&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-handlebars&quot;&gt;&lt;code&gt;{{toColumnIndex &amp;quot;A&amp;quot;}}      &amp;lt;!-- 1 --&amp;gt;
{{toColumnIndex &amp;quot;Z&amp;quot;}}      &amp;lt;!-- 26 --&amp;gt;
{{toColumnIndex &amp;quot;AA&amp;quot;}}     &amp;lt;!-- 27 --&amp;gt;
{{toColumnIndex &amp;quot;AB&amp;quot;}}     &amp;lt;!-- 28 --&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h4&gt;合并单元格 Helper&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;mergeCell&lt;/code&gt;&lt;/strong&gt; - 标记需要合并的单元格范围：&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-handlebars&quot;&gt;&lt;code&gt;&amp;lt;!-- 静态合并单元格 --&amp;gt;
{{mergeCell &amp;quot;C4:D5&amp;quot;}}      &amp;lt;!-- 合并 C4 到 D5 区域 --&amp;gt;
{{mergeCell &amp;quot;F4:G4&amp;quot;}}      &amp;lt;!-- 合并 F4 到 G4 区域 --&amp;gt;

&amp;lt;!-- 动态合并单元格：从当前位置合并 --&amp;gt;
{{mergeCell (concat (_c) (_r) &amp;quot;:&amp;quot; (toColumnName (_c) 3) (_r))}}
&amp;lt;!-- 示例：如果当前在 B5，合并 B5:E5（向右合并4列） --&amp;gt;

&amp;lt;!-- 动态合并单元格：跨行跨列 --&amp;gt;
{{mergeCell (concat (_c) (_r) &amp;quot;:&amp;quot; (toColumnName (_c) 2) (add (_r) 2))}}
&amp;lt;!-- 示例：如果当前在 C3，合并 C3:E5（3列×3行的区域） --&amp;gt;

&amp;lt;!-- 在循环中动态合并 --&amp;gt;
{{#each sections}}
  {{mergeCell (concat &amp;quot;A&amp;quot; (add @index 2) &amp;quot;:D&amp;quot; (add @index 2))}}
  &amp;lt;!-- 为每个 section 合并一行的 A-D 列 --&amp;gt;
{{&amp;#x2F;each}}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;注意事项&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;mergeCell&lt;/code&gt; 不产生输出，仅收集合并信息&lt;/li&gt;
&lt;li&gt;合并范围格式必须是 &lt;code&gt;起始单元格:结束单元格&lt;/code&gt;（如 &lt;code&gt;&amp;quot;A1:B2&amp;quot;&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;相同的合并范围会自动去重&lt;/li&gt;
&lt;li&gt;合并信息会在渲染完成后自动添加到 Excel 文件中&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;超链接 Helper&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;hyperlink&lt;/code&gt;&lt;/strong&gt; - 在 Excel 单元格中添加超链接：&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-handlebars&quot;&gt;&lt;code&gt;&amp;lt;!-- 基础用法：链接到其他工作表 --&amp;gt;
{{hyperlink (_cr) &amp;quot;Sheet2!A1&amp;quot; &amp;quot;查看详情&amp;quot;}}

&amp;lt;!-- 链接到外部网址（需在模板中预设） --&amp;gt;
{{hyperlink (_cr) &amp;quot;https:&amp;#x2F;&amp;#x2F;example.com&amp;quot; &amp;quot;访问网站&amp;quot;}}

&amp;lt;!-- 动态链接 --&amp;gt;
{{#each items}}
  {{hyperlink (_cr) (concat &amp;quot;详情!&amp;quot; name) name}}
{{&amp;#x2F;each}}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;参数说明&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;第一个参数：单元格引用，通常使用 &lt;code&gt;(_cr)&lt;/code&gt; 获取当前单元格&lt;/li&gt;
&lt;li&gt;第二个参数：链接目标（工作表引用或 URL）&lt;/li&gt;
&lt;li&gt;第三个参数：显示文本（可选）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;注意事项&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;hyperlink&lt;/code&gt; 不产生输出，仅收集超链接信息&lt;/li&gt;
&lt;li&gt;超链接会在渲染完成后自动添加到 Excel 文件中&lt;/li&gt;
&lt;li&gt;支持工作表内部引用（如 &lt;code&gt;&amp;quot;Sheet2!A1&amp;quot;&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;外部链接需要在模板 Excel 文件中预先配置关系&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;数字类型 Helper&lt;/h4&gt;
&lt;p&gt;使用 &lt;code&gt;{{num value}}&lt;/code&gt; 确保单元格在 Excel 中被识别为数字：&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-handlebars&quot;&gt;&lt;code&gt;&amp;lt;!-- 不使用 num: 当作文本处理 --&amp;gt;
{{employee.salary}}

&amp;lt;!-- 使用 num: 当作数字处理 --&amp;gt;
{{num employee.salary}}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;特别适用于以下场景：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;值可能是字符串但应当作数字处理&lt;/li&gt;
&lt;li&gt;需要确保 Excel 中的数字格式正确&lt;/li&gt;
&lt;li&gt;需要在公式中使用该值&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;图片插入 Helper&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;img&lt;/code&gt;&lt;/strong&gt; - 在 Excel 中插入 base64 编码的图片：&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-handlebars&quot;&gt;&lt;code&gt;&amp;lt;!-- 基础用法：插入图片并使用原始尺寸 --&amp;gt;
{{img logo.data}}

&amp;lt;!-- 指定宽度和高度（单位：像素） --&amp;gt;
{{img photo.data 150 200}}

&amp;lt;!-- 使用数据中的尺寸 --&amp;gt;
{{img image.data image.width image.height}}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;特性&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;✅ 支持 PNG、JPEG、WebP、BMP、TIFF、GIF 等常见图片格式&lt;/li&gt;
&lt;li&gt;✅ 自动检测图片实际尺寸&lt;/li&gt;
&lt;li&gt;✅ 可选指定宽度和高度（像素）&lt;/li&gt;
&lt;li&gt;✅ 图片定位在当前单元格位置&lt;/li&gt;
&lt;li&gt;✅ 图片不受单元格大小限制，保持比例&lt;/li&gt;
&lt;li&gt;✅ 支持同一 sheet 插入多张图片&lt;/li&gt;
&lt;li&gt;✅ 支持多个 sheet 各自插入图片&lt;/li&gt;
&lt;li&gt;✅ 使用 UUID 避免 ID 冲突&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;完整示例&lt;/strong&gt;：&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-javascript&quot;&gt;&lt;code&gt;&amp;#x2F;&amp;#x2F; 在 JavaScript 中准备图片数据
import fs from &amp;#x27;fs&amp;#x27;;

const imageBuffer = fs.readFileSync(&amp;#x27;logo.png&amp;#x27;);
const base64Image = imageBuffer.toString(&amp;#x27;base64&amp;#x27;);

const data = {
  company: {
    logo: base64Image,
    name: &amp;quot;科技公司&amp;quot;
  },
  products: [
    {
      name: &amp;quot;产品A&amp;quot;,
      photo: base64Image,
      width: 120,
      height: 120
    },
    {
      name: &amp;quot;产品B&amp;quot;, 
      photo: base64Image,
      width: 100,
      height: 100
    }
  ]
};

&amp;#x2F;&amp;#x2F; 在模板中使用
&lt;/code&gt;&lt;/pre&gt;&lt;pre class=&quot;prettyprint language-handlebars&quot;&gt;&lt;code&gt;&amp;lt;!-- Excel 模板示例 --&amp;gt;
公司Logo: {{img company.logo 100 50}}

产品列表:
{{#each products}}
产品名: {{name}}
图片: {{img photo width height}}
{{&amp;#x2F;each}}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;使用技巧&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;如果只指定宽度，高度会等比例缩放&lt;/li&gt;
&lt;li&gt;如果只指定高度，宽度会等比例缩放&lt;/li&gt;
&lt;li&gt;如果都不指定，使用图片原始尺寸&lt;/li&gt;
&lt;li&gt;图片会放置在调用 &lt;code&gt;{{img}}&lt;/code&gt; 的单元格位置&lt;/li&gt;
&lt;li&gt;base64 数据不包含 &lt;code&gt;data:image/png;base64,&lt;/code&gt; 前缀，只需要纯 base64 字符串&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;工作表管理 Helpers&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;deleteCurrentSheet&lt;/code&gt;&lt;/strong&gt; - 删除当前正在渲染的工作表：&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-handlebars&quot;&gt;&lt;code&gt;&amp;lt;!-- 基础用法 --&amp;gt;
{{deleteCurrentSheet}}

&amp;lt;!-- 条件删除 --&amp;gt;
{{#if shouldDelete}}
  {{deleteCurrentSheet}}
{{&amp;#x2F;if}}

&amp;lt;!-- 删除非活跃工作表 --&amp;gt;
{{#unless isActive}}
  {{deleteCurrentSheet}}
{{&amp;#x2F;unless}}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;特性&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;✅ 从工作簿中移除工作表及其关系&lt;/li&gt;
&lt;li&gt;✅ 清理相关文件（rels、content types）&lt;/li&gt;
&lt;li&gt;✅ 保留 drawing 文件（安全考虑）&lt;/li&gt;
&lt;li&gt;✅ 不能删除最后一个工作表（Excel 要求）&lt;/li&gt;
&lt;li&gt;✅ 延迟执行，所有渲染完成后统一删除&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;setCurrentSheetName&lt;/code&gt;&lt;/strong&gt; - 重命名当前工作表：&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-handlebars&quot;&gt;&lt;code&gt;&amp;lt;!-- 静态名称 --&amp;gt;
{{setCurrentSheetName &amp;quot;销售报表&amp;quot;}}

&amp;lt;!-- 动态名称 --&amp;gt;
{{setCurrentSheetName (concat department.name &amp;quot; - &amp;quot; year &amp;quot;年&amp;quot;)}}

&amp;lt;!-- 基于循环的命名 --&amp;gt;
{{#each departments}}
  {{setCurrentSheetName (concat &amp;quot;部门&amp;quot; @index &amp;quot; - &amp;quot; name)}}
{{&amp;#x2F;each}}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;特性&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;✅ 自动过滤非法字符：&lt;code&gt;\ / ? * [ ]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;✅ 自动限制长度为 31 个字符&lt;/li&gt;
&lt;li&gt;✅ 自动处理重名，添加数字后缀&lt;/li&gt;
&lt;li&gt;✅ 支持动态名称生成&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;hideCurrentSheet&lt;/code&gt;&lt;/strong&gt; - 隐藏当前工作表：&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-handlebars&quot;&gt;&lt;code&gt;&amp;lt;!-- 普通隐藏（用户可通过右键取消隐藏） --&amp;gt;
{{hideCurrentSheet}}
{{hideCurrentSheet &amp;quot;hidden&amp;quot;}}

&amp;lt;!-- 超级隐藏（需要 VBA 才能取消隐藏） --&amp;gt;
{{hideCurrentSheet &amp;quot;veryHidden&amp;quot;}}

&amp;lt;!-- 条件隐藏 --&amp;gt;
{{#unless (eq userRole &amp;quot;admin&amp;quot;)}}
  {{hideCurrentSheet &amp;quot;veryHidden&amp;quot;}}
{{&amp;#x2F;unless}}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;隐藏级别&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;hidden&lt;/code&gt; - 普通隐藏，用户可通过 Excel 右键菜单取消隐藏&lt;/li&gt;
&lt;li&gt;&lt;code&gt;veryHidden&lt;/code&gt; - 超级隐藏，需要 VBA 或属性编辑器才能取消隐藏&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;特性&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;✅ 不能隐藏所有工作表（Excel 要求至少一个可见）&lt;/li&gt;
&lt;li&gt;✅ 两种隐藏级别：普通隐藏和超级隐藏&lt;/li&gt;
&lt;li&gt;✅ 适用于权限控制和敏感数据保护&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;常见使用场景&lt;/strong&gt;：&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-handlebars&quot;&gt;&lt;code&gt;&amp;lt;!-- 多语言报表：删除未使用的语言工作表 --&amp;gt;
{{#if (ne language &amp;quot;zh-CN&amp;quot;)}}
  {{deleteCurrentSheet}}
{{&amp;#x2F;if}}

&amp;lt;!-- 动态部门报表：按部门重命名工作表 --&amp;gt;
{{setCurrentSheetName (concat department.name &amp;quot; 报表&amp;quot;)}}

&amp;lt;!-- 权限控制：对普通用户隐藏管理员工作表 --&amp;gt;
{{#unless (eq userRole &amp;quot;admin&amp;quot;)}}
  {{hideCurrentSheet &amp;quot;veryHidden&amp;quot;}}
{{&amp;#x2F;unless}}

&amp;lt;!-- 条件工作流：根据状态删除、重命名或隐藏 --&amp;gt;
{{#if (eq status &amp;quot;inactive&amp;quot;)}}
  {{deleteCurrentSheet}}
{{else}}
  {{setCurrentSheetName (concat &amp;quot;活跃 - &amp;quot; name)}}
  {{#if isInternal}}
    {{hideCurrentSheet}}
  {{&amp;#x2F;if}}
{{&amp;#x2F;if}}
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;复杂示例&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language-handlebars&quot;&gt;&lt;code&gt;=== 员工报告 ===

基本信息:
姓名: {{employee.name}}
部门: {{employee.department}}
职位: {{employee.position}}
入职时间: {{employee.hire_date}}

{{#if employee.has_bonus}}
 奖金: ¥{{employee.bonus_amount}}
{{&amp;#x2F;if}}

项目经历 (共{{len projects}}个):
{{#each projects}}
{{@index}}. {{name}}
   描述: {{description}}
   状态: {{status}}
   团队规模: {{team_size}}人
   
{{&amp;#x2F;each}}

技能评估:
{{#each skills}}
- {{name}}: {{level}}&amp;#x2F;10 ({{years}}年经验)
{{&amp;#x2F;each}}

在表格中若需要删除一整行, 只需要在任意单元格上添加:
{{removeRow}}


{{#if (gt performance.score 90)}}
 绩效评级: 优秀
{{else if (gt performance.score 80)}}
 绩效评级: 良好
{{else}}
 绩效评级: 需改进
{{&amp;#x2F;if}}
&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;构建和开发&lt;/h2&gt;
&lt;h3&gt;构建 WASM 包&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language-bash&quot;&gt;&lt;code&gt;# 构建所有目标
npm run build

# 或分别构建
npm run build:web    # 浏览器版本
npm run build:npm    # Node.js 版本 
npm run build:jsr    # Deno 版本
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;运行示例&lt;/h3&gt;
&lt;pre class=&quot;prettyprint language-bash&quot;&gt;&lt;code&gt;# Rust 示例
cargo run --example rust_example

# Node.js 示例
node examples&amp;#x2F;node_example.js

# Deno 示例  
deno run --allow-read --allow-write examples&amp;#x2F;deno_example.ts

# 浏览器示例
cd tests&amp;#x2F;npm_test
node serve.js
# 然后在浏览器中打开 http:&amp;#x2F;&amp;#x2F;localhost:8080
# 选择 examples&amp;#x2F;template.xlsx 文件测试
&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;工具函数&lt;/h2&gt;
&lt;p&gt;xlsx-handlebars 提供了一系列实用工具函数，帮助你更高效地处理 Excel 相关操作。&lt;/p&gt;
&lt;h3&gt;获取图片尺寸&lt;/h3&gt;
&lt;p&gt;从原始图片数据中检测图片尺寸，无需依赖完整的图片处理库。&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-rust&quot;&gt;&lt;code&gt;use xlsx_handlebars::get_image_dimensions;

&amp;#x2F;&amp;#x2F; 读取图片文件
let image_data = std::fs::read(&amp;quot;logo.png&amp;quot;)?;

&amp;#x2F;&amp;#x2F; 获取尺寸
if let Some((width, height)) = get_image_dimensions(&amp;amp;image_data) {
    println!(&amp;quot;图片尺寸: {}x{}&amp;quot;, width, height);
} else {
    println!(&amp;quot;不支持的图片格式&amp;quot;);
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;支持的格式&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;PNG&lt;/li&gt;
&lt;li&gt;JPEG&lt;/li&gt;
&lt;li&gt;WebP (VP8, VP8L, VP8X)&lt;/li&gt;
&lt;li&gt;BMP&lt;/li&gt;
&lt;li&gt;TIFF (II/MM 字节序)&lt;/li&gt;
&lt;li&gt;GIF (87a/89a)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Excel 列名转换&lt;/h3&gt;
&lt;p&gt;在 Excel 中进行列名和列索引之间的转换。&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-rust&quot;&gt;&lt;code&gt;use xlsx_handlebars::{to_column_name, to_column_index};

&amp;#x2F;&amp;#x2F; 列名递增
assert_eq!(to_column_name(&amp;quot;A&amp;quot;, 0), &amp;quot;A&amp;quot;);
assert_eq!(to_column_name(&amp;quot;A&amp;quot;, 1), &amp;quot;B&amp;quot;);
assert_eq!(to_column_name(&amp;quot;Z&amp;quot;, 1), &amp;quot;AA&amp;quot;);
assert_eq!(to_column_name(&amp;quot;AA&amp;quot;, 1), &amp;quot;AB&amp;quot;);

&amp;#x2F;&amp;#x2F; 列名转索引 (1-based)
assert_eq!(to_column_index(&amp;quot;A&amp;quot;), 1);
assert_eq!(to_column_index(&amp;quot;Z&amp;quot;), 26);
assert_eq!(to_column_index(&amp;quot;AA&amp;quot;), 27);
assert_eq!(to_column_index(&amp;quot;BA&amp;quot;), 53);
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;JavaScript/TypeScript 示例&lt;/strong&gt;：&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-javascript&quot;&gt;&lt;code&gt;import { wasm_to_column_name, wasm_to_column_index } from &amp;#x27;xlsx-handlebars&amp;#x27;;

&amp;#x2F;&amp;#x2F; 列名递增
console.log(wasm_to_column_name(&amp;quot;A&amp;quot;, 1));  &amp;#x2F;&amp;#x2F; &amp;quot;B&amp;quot;
console.log(wasm_to_column_name(&amp;quot;Z&amp;quot;, 1));  &amp;#x2F;&amp;#x2F; &amp;quot;AA&amp;quot;

&amp;#x2F;&amp;#x2F; 列名转索引
console.log(wasm_to_column_index(&amp;quot;AA&amp;quot;));   &amp;#x2F;&amp;#x2F; 27
console.log(wasm_to_column_index(&amp;quot;BA&amp;quot;));   &amp;#x2F;&amp;#x2F; 53
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;Excel 日期转换&lt;/h3&gt;
&lt;p&gt;在 Unix 时间戳和 Excel 日期序列号之间转换。Excel 使用从 1900-01-01 开始的序列号表示日期。&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-rust&quot;&gt;&lt;code&gt;use xlsx_handlebars::{timestamp_to_excel_date, excel_date_to_timestamp};

&amp;#x2F;&amp;#x2F; 时间戳转 Excel 日期
let timestamp = 1704067200000i64;  &amp;#x2F;&amp;#x2F; 2024-01-01 00:00:00 UTC
let excel_date = timestamp_to_excel_date(timestamp);
println!(&amp;quot;Excel 日期序列号: {}&amp;quot;, excel_date);  &amp;#x2F;&amp;#x2F; 45294.0

&amp;#x2F;&amp;#x2F; Excel 日期转时间戳
if let Some(ts) = excel_date_to_timestamp(45294.0) {
    println!(&amp;quot;时间戳: {}&amp;quot;, ts);  &amp;#x2F;&amp;#x2F; 1704067200000
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;JavaScript/TypeScript 示例&lt;/strong&gt;：&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-javascript&quot;&gt;&lt;code&gt;import { 
    wasm_timestamp_to_excel_date, 
    wasm_excel_date_to_timestamp 
} from &amp;#x27;xlsx-handlebars&amp;#x27;;

&amp;#x2F;&amp;#x2F; 日期转 Excel 序列号
const date = new Date(&amp;#x27;2024-01-01T00:00:00Z&amp;#x27;);
const excelDate = wasm_timestamp_to_excel_date(date.getTime());
console.log(&amp;#x27;Excel 日期:&amp;#x27;, excelDate);  &amp;#x2F;&amp;#x2F; 45294.0

&amp;#x2F;&amp;#x2F; Excel 序列号转日期
const timestamp = wasm_excel_date_to_timestamp(45294.0);
if (timestamp !== null) {
    const convertedDate = new Date(timestamp);
    console.log(&amp;#x27;日期:&amp;#x27;, convertedDate.toISOString());
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;常见使用场景&lt;/strong&gt;：&lt;/p&gt;
&lt;pre class=&quot;prettyprint language-rust&quot;&gt;&lt;code&gt;&amp;#x2F;&amp;#x2F; 在模板中使用前验证图片尺寸
let image_data = std::fs::read(&amp;quot;photo.jpg&amp;quot;)?;
match get_image_dimensions(&amp;amp;image_data) {
    Some((w, h)) if w &amp;lt;= 1000 &amp;amp;&amp;amp; h &amp;lt;= 1000 =&amp;gt; {
        println!(&amp;quot;有效图片: {}x{}&amp;quot;, w, h);
        &amp;#x2F;&amp;#x2F; 继续进行模板渲染
    }
    Some((w, h)) =&amp;gt; {
        eprintln!(&amp;quot;图片过大: {}x{} (最大 1000x1000)&amp;quot;, w, h);
    }
    None =&amp;gt; {
        eprintln!(&amp;quot;不支持的图片格式&amp;quot;);
    }
}
&lt;/code&gt;&lt;/pre&gt;&lt;pre class=&quot;prettyprint language-rust&quot;&gt;&lt;code&gt;&amp;#x2F;&amp;#x2F; 动态生成单元格引用
let start_col = &amp;quot;B&amp;quot;;
let num_cols = 5;
for i in 0..num_cols {
    let col_name = to_column_name(start_col, i);
    let col_index = to_column_index(&amp;amp;col_name);
    println!(&amp;quot;列 {}: 名称={}, 索引={}&amp;quot;, i, col_name, col_index);
}
&lt;/code&gt;&lt;/pre&gt;&lt;pre class=&quot;prettyprint language-rust&quot;&gt;&lt;code&gt;&amp;#x2F;&amp;#x2F; 在模板数据中包含日期
use serde_json::json;

let date_timestamp = 1704067200000i64;  &amp;#x2F;&amp;#x2F; 2024-01-01
let excel_date = timestamp_to_excel_date(date_timestamp);

let data = json!({
    &amp;quot;report_date&amp;quot;: excel_date,
    &amp;quot;employee&amp;quot;: {
        &amp;quot;name&amp;quot;: &amp;quot;张三&amp;quot;,
        &amp;quot;hire_date&amp;quot;: timestamp_to_excel_date(1609459200000i64)  &amp;#x2F;&amp;#x2F; 2021-01-01
    }
});
&lt;/code&gt;&lt;/pre&gt;&lt;pre class=&quot;prettyprint language-rust&quot;&gt;&lt;code&gt;&amp;#x2F;&amp;#x2F; 批量处理图片
for file in &amp;amp;[&amp;quot;logo.png&amp;quot;, &amp;quot;banner.jpg&amp;quot;, &amp;quot;icon.gif&amp;quot;] {
    let data = std::fs::read(file)?;
    match get_image_dimensions(&amp;amp;data) {
        Some((w, h)) =&amp;gt; println!(&amp;quot;{}: {}x{}&amp;quot;, file, w, h),
        None =&amp;gt; eprintln!(&amp;quot;{}: 不支持的格式&amp;quot;, file),
    }
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这些工具函数帮助你：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;✅ 在插入前验证图片尺寸&lt;/li&gt;
&lt;li&gt;✅ 动态生成单元格引用和公式&lt;/li&gt;
&lt;li&gt;✅ 处理 Excel 日期格式&lt;/li&gt;
&lt;li&gt;✅ 避免加载笨重的外部库&lt;/li&gt;
&lt;li&gt;✅ 同时支持 Rust 和 JavaScript/TypeScript&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;技术特性&lt;/h2&gt;
&lt;h2&gt;性能和兼容性&lt;/h2&gt;
&lt;h3&gt;极致性能表现 ⚡&lt;/h3&gt;
&lt;p&gt;xlsx-handlebars 凭借 Rust 实现了&lt;strong&gt;业界顶尖的性能表现&lt;/strong&gt;：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;数据量&lt;/th&gt;
&lt;th&gt;处理耗时&lt;/th&gt;
&lt;th&gt;吞吐量&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1,000 行&lt;/td&gt;
&lt;td&gt;~0.02秒&lt;/td&gt;
&lt;td&gt;实时生成报表&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10,000 行&lt;/td&gt;
&lt;td&gt;~0.21秒&lt;/td&gt;
&lt;td&gt;在线导出&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;100,000 行&lt;/td&gt;
&lt;td&gt;~2.12秒&lt;/td&gt;
&lt;td&gt;批量处理&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1,000,000 行&lt;/td&gt;
&lt;td&gt;~21秒&lt;/td&gt;
&lt;td&gt;大数据报表&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;性能对比&lt;/strong&gt; (处理10万行数据)：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;技术栈&lt;/th&gt;
&lt;th&gt;耗时&lt;/th&gt;
&lt;th&gt;与 xlsx-handlebars 对比&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;xlsx-handlebars (Rust)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;2.12秒&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;1倍 (基准)&lt;/strong&gt; ⭐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Python (openpyxl)&lt;/td&gt;
&lt;td&gt;30-60秒&lt;/td&gt;
&lt;td&gt;慢 14-28倍&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;JavaScript (xlsx.js)&lt;/td&gt;
&lt;td&gt;15-30秒&lt;/td&gt;
&lt;td&gt;慢 7-14倍&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Java (Apache POI)&lt;/td&gt;
&lt;td&gt;8-15秒&lt;/td&gt;
&lt;td&gt;慢 3-7倍&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C# (EPPlus)&lt;/td&gt;
&lt;td&gt;5-10秒&lt;/td&gt;
&lt;td&gt;慢 2-4倍&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;为什么这么快？&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; &lt;strong&gt;Rust 零成本抽象&lt;/strong&gt;：编译期优化，无运行时开销&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;流式架构&lt;/strong&gt;：直接在内存中处理 ZIP 条目，避免文件 I/O&lt;/li&gt;
&lt;li&gt;⚡ &lt;strong&gt;事件驱动 XML 解析&lt;/strong&gt;：使用 quick-xml 高效解析，无需构建完整 DOM 树&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;单次遍历渲染&lt;/strong&gt;：一次迭代完成所有模板替换&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;兼容性&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;零拷贝&lt;/strong&gt;: Rust 和 WASM 之间高效的内存管理&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;流式处理&lt;/strong&gt;: 适合处理大型 XLSX 文件&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;跨平台&lt;/strong&gt;: 支持 Windows、macOS、Linux、Web&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;现代浏览器&lt;/strong&gt;: 支持所有支持 WASM 的现代浏览器&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;许可证&lt;/h2&gt;
&lt;p&gt;本项目采用 MIT 许可证 - 详见 &lt;a href&gt;LICENSE-MIT&lt;/a&gt; 文件。&lt;/p&gt;
&lt;h2&gt;支持&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt; &lt;a href=&quot;https://docs.rs/xlsx-handlebars&quot;&gt;文档&lt;/a&gt;&lt;/li&gt;
&lt;li&gt; &lt;a href=&quot;https://github.com/sail-sail/xlsx-handlebars/issues&quot;&gt;问题反馈&lt;/a&gt;&lt;/li&gt;
&lt;li&gt; &lt;a href=&quot;https://github.com/sail-sail/xlsx-handlebars/discussions&quot;&gt;讨论&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;/div&gt;</description><author>151263</author><pubDate>Sun, 05 Oct 2025 16:31:59 GMT</pubDate></item><item><title>VonaJS提供的读写分离，直观，优雅</title><link>https://cnodejs.org/topic/68d9e538f13576628f083c38</link><guid>https://cnodejs.org/topic/68d9e538f13576628f083c38</guid><description>&lt;div class=&quot;markdown-text&quot;&gt;&lt;p&gt;在VonaJS中实现&lt;code&gt;读写分离&lt;/code&gt;，只需提供一组&lt;code&gt;写数据源&lt;/code&gt;和一组&lt;code&gt;读数据源&lt;/code&gt;。当用户访问后端 API 时，系统会按照规则自动选择&lt;code&gt;写数据源&lt;/code&gt;或&lt;code&gt;读数据源&lt;/code&gt;，访问相应的数据库，从而分摊压力，提升系统性能&lt;/p&gt;
&lt;h2&gt;安装模块&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;读写分离&lt;/code&gt;作为独立的模块提供，因此需要在VonaJS项目中安装此模块：&lt;/p&gt;
&lt;pre class=&quot;prettyprint language- bash&quot;&gt;&lt;code&gt;$ pnpm add vona-module-a-datasharding -w
&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;添加数据源&lt;/h2&gt;
&lt;p&gt;首先，需要添加一组数据源&lt;/p&gt;
&lt;h3&gt;1. 添加类型定义&lt;/h3&gt;
&lt;p&gt;为新数据源添加类型定义&lt;/p&gt;
&lt;p&gt;&lt;code&gt;src/backend/config/config/config.ts&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;prettyprint language- typescript&quot;&gt;&lt;code&gt;declare module &amp;#x27;vona-module-a-orm&amp;#x27; {
  export interface IDatabaseClientRecord {
    read1: never;
    read2: never;
    write1: never;
    write2: never;
  }
}
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;2. 增加数据源配置&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;src/backend/config/config/config.ts&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;prettyprint language- typescript&quot;&gt;&lt;code&gt;&amp;#x2F;&amp;#x2F; database
config.database = {
  clients: {
    read1: {
      client: &amp;#x27;pg&amp;#x27;,
      connection: {
        host: &amp;#x27;127.0.0.1&amp;#x27;,
        port: 5432,
        user: &amp;#x27;postgres&amp;#x27;,
        password: &amp;#x27;&amp;#x27;,
        database: &amp;#x27;xxxx-read1&amp;#x27;,
      },
    },
    read2: {...},
    write1: {...},
    write2: {...},
  },
};
&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;配置读写数据源&lt;/h2&gt;
&lt;p&gt;然后配置模块的读写数据源&lt;/p&gt;
&lt;p&gt;&lt;code&gt;src/backend/config/config/config.ts&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;prettyprint language- typescript&quot;&gt;&lt;code&gt;&amp;#x2F;&amp;#x2F; modules
config.modules = {
  &amp;#x27;a-datasharding&amp;#x27;: {
    client: {
      reads: [&amp;#x27;read1&amp;#x27;, &amp;#x27;read2&amp;#x27;],
      writes: [&amp;#x27;write1&amp;#x27;, &amp;#x27;write2&amp;#x27;],
      randomRead: undefined,
      randomWrite: undefined,
    },
  },
};    
&lt;/code&gt;&lt;/pre&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名称&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;reads&lt;/td&gt;
&lt;td&gt;指定一组读数据源&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;writes&lt;/td&gt;
&lt;td&gt;指定一组写数据源&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;randomRead&lt;/td&gt;
&lt;td&gt;可指定自定义函数，从&lt;code&gt;reads&lt;/code&gt;中提取一个读数据源。默认为&lt;code&gt;undefined&lt;/code&gt;，由系统随机提取&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;randomWrite&lt;/td&gt;
&lt;td&gt;可指定自定义函数，从&lt;code&gt;writes&lt;/code&gt;中提取一个写数据源。默认为&lt;code&gt;undefined&lt;/code&gt;，由系统随机提取&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;读写分离的运行机制&lt;/h2&gt;
&lt;p&gt;当配置好读写数据源之后，读写分离机制就自动生效了&lt;/p&gt;
&lt;p&gt;现在，解释一下读写分离的运行机制：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;模块提供了一个全局拦截器&lt;code&gt;a-datasharding:datasharding&lt;/code&gt;。该拦截器判断当前 API Method，如果是&lt;code&gt;POST/PATCH/DELETE/PUT&lt;/code&gt;，那么就使用&lt;code&gt;写数据源&lt;/code&gt;，否则使用&lt;code&gt;读数据源&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;数据一致性: 缓存&lt;code&gt;写数据源&lt;/code&gt;&lt;/h2&gt;
&lt;h3&gt;场景分析：同一个用户&lt;/h3&gt;
&lt;p&gt;由于数据库同步有延时，会出现数据不一致性的情况。比如，用户访问&lt;code&gt;Write-API&lt;/code&gt;，将数据写入&lt;code&gt;写数据库&lt;/code&gt;。接下来，用户访问&lt;code&gt;Read-API&lt;/code&gt;，此时&lt;code&gt;读数据库&lt;/code&gt;还没有同步，那么就会读到旧数据&lt;/p&gt;
&lt;p&gt;为了解决以上问题，模块自动提供了一个机制：当用户访问&lt;code&gt;Write-API&lt;/code&gt;时，会自动将&lt;code&gt;写数据源&lt;/code&gt;存入&lt;code&gt;二级缓存&lt;/code&gt;，并设置过期时间。在这个时间之内，用户访问&lt;code&gt;Read-API&lt;/code&gt;时，也会继续使用同一个&lt;code&gt;写数据源&lt;/code&gt;，从而确保在写入数据后总是可以读取到最新的数据&lt;/p&gt;
&lt;h3&gt;修改过期时间&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;二级缓存&lt;/code&gt;的名称是&lt;code&gt;a-datasharding:datasourceWrite&lt;/code&gt;，可以在 App config 中修改过期时间：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;src/backend/config/config/config.ts&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;prettyprint language- typescript&quot;&gt;&lt;code&gt;&amp;#x2F;&amp;#x2F; onions
config.onions = {
  summerCache: {
    &amp;#x27;a-datasharding:datasourceWrite&amp;#x27;: {
      mem: {
        ttl: 5 * 1000, &amp;#x2F;&amp;#x2F; 5s
      },
      redis: {
        ttl: 5 * 1000, &amp;#x2F;&amp;#x2F; 5s
      },
    },
  },
};
&lt;/code&gt;&lt;/pre&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名称&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;mem.ttl&lt;/td&gt;
&lt;td&gt;Mem缓存的过期时间，默认为&lt;code&gt;3&lt;/code&gt;秒&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;redis.ttl&lt;/td&gt;
&lt;td&gt;Redis缓存的过期时间，默认为&lt;code&gt;3&lt;/code&gt;秒&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;数据一致性: 缓存双删&lt;/h2&gt;
&lt;h3&gt;场景分析：不同用户&lt;/h3&gt;
&lt;p&gt;Vona ORM 提供了开箱即用的缓存机制，参见：&lt;a href&gt;缓存&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;由于数据库同步有延时，会出现缓存不一致性的情况。比如，用户 A 访问&lt;code&gt;Write-API&lt;/code&gt;，将数据写入&lt;code&gt;写数据库&lt;/code&gt;，并自动删除缓存。接下来，用户 B 访问&lt;code&gt;Read-API&lt;/code&gt;，此时&lt;code&gt;读数据库&lt;/code&gt;还没有同步，那么就会读到旧数据，并存入缓存&lt;/p&gt;
&lt;p&gt;为了解决以上问题，模块&lt;code&gt;a-orm&lt;/code&gt;提供了&lt;code&gt;缓存双删&lt;/code&gt;机制：当用户 A 访问&lt;code&gt;Write-API&lt;/code&gt;时，将数据写入&lt;code&gt;写数据库&lt;/code&gt;，并自动删除缓存。然后在指定时间之后再次删除缓存，从而确保缓存总是最新数据&lt;/p&gt;
&lt;h3&gt;启用缓存双删&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;src/backend/config/config/config.ts&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;prettyprint language- typescript&quot;&gt;&lt;code&gt;&amp;#x2F;&amp;#x2F; modules
config.modules = {
  &amp;#x27;a-orm&amp;#x27;: {
    sharding: {
      cache: {
        doubleDelete: true,
      },
    },
  },
};
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;修改缓存双删延迟时间&lt;/h3&gt;
&lt;p&gt;系统采用队列任务执行缓存双删，&lt;code&gt;队列&lt;/code&gt;名称是&lt;code&gt;a-orm:doubleDelete&lt;/code&gt;，可以在 App config 中修改缓存双删延迟时间：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;src/backend/config/config/config.ts&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;prettyprint language- typescript&quot;&gt;&lt;code&gt;&amp;#x2F;&amp;#x2F; onions
config.onions = {
  queue: {
    &amp;#x27;a-orm:doubleDelete&amp;#x27;: {
      options: {
        job: {
          delay: 5 * 1000, &amp;#x2F;&amp;#x2F; 5s
        },
      },
    },
  },
};
&lt;/code&gt;&lt;/pre&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名称&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;job.delay&lt;/td&gt;
&lt;td&gt;指定延迟多长时间执行缓存双删任务，默认为&lt;code&gt;3&lt;/code&gt;秒&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Vona ORM已开源：&lt;a href=&quot;https://github.com/vonajs/vona&quot;&gt;https://github.com/vonajs/vona&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;</description><author>zhennann</author><pubDate>Mon, 29 Sep 2025 01:47:36 GMT</pubDate></item></channel></rss>