fn_b/docs/maintenance/AIRPORT_RECOMMENDATIONS.md

40 lines
5.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 统一机场推荐模块
**已正式发布**:[2026-10-31正式发布记录](UI_RELEASE_2026-10-31.md)。以下为最初本地实施记录,当前正式数据保护及189篇覆盖验收以发布记录为准。
2026-10-31用户确认截图方案并要求“弄,先在本地”。仅FNA_V3本地生效,没有提交/推送、线上访问或生产部署。原整图广告区保留,本模块替换资源正文内旧福云文字推荐并补充教程末尾,不改变其他广告配置。
## 唯一资料入口
`config/airport_recommendations.php`集中维护开关、顺序、品牌名、地址、起售价/单位、解锁文案、场景说明、优惠码及折扣。初始三家与价格/优惠文案按用户截图:福云18元/月、DP-LINK.NET26元/月、hardnerd28元/月;三家均使用clashfreenode.com九折(HN优惠由用户随后确认补齐)。该价格和营销说明为用户指定文案,不表示本次完成网络或套餐实测。
地址沿已登记/既有配置:FUC免翻墙入口`https://xn--123-9i9dj97q.com/`,DPL `https://dp-link.net/`,HN `https://hardnerd.net/`;未点击或访问落地页。可通过AIRPORT_FUC_URL、AIRPORT_DPL_URL、AIRPORT_HN_URL覆盖。使用独立展示配置避免本地HN广告使用hn.loc时污染公开推荐网址。未新建后台、数据库、DomainHub调用或TeleHub汇报;无新增公共服务需求,当前统一配置足够维护三个固定条目,后续后台接入另按明确需求设计。
修改资料后运行`php artisan config:clear`与`php artisan responsecache:clear`即可全站更新,无需逐篇改稿。禁用单家用enabled=false,排序用order;总开关AIRPORT_RECOMMENDATIONS_ENABLED=false。无可用条目时不插入推荐或跳转,旧正文原样显示。
## 渲染与边界
- `ArticleRecommendations::prepare`仅处理展示副本,不更新文章数据库、编辑版本、正文源、收录日期或点赞设置。
- freenode、shadowrocketids:识别旧“机场推荐 - 福云”标题及其同段“机场官网:福云”链接,在原位置替换共享组件。匹配不跨下一个标题;未匹配时保留正文并在末尾追加,不猜测删除范围。订阅/账号/复制数据原字节保留。
- client及其子栏目、advanced:正文后追加同一个模块。advanced在首个涉及订阅/节点/线路的段落后插入一次自然文案与文末锚点,无匹配时文末加入;已有该锚点链接不重复插入。
- 首页复用最新文章详情,自然包含一处推荐;栏目列表不增加模块,其他栏目不展示。
- 服务端输出table,桌面五列、767.98px及以下为三张纵向卡片。稳定锚点`#airport-recommendations`,不得在正文另建同名ID。CSS/JS独立同源静态文件,@once单次加载;不依赖JS获取推荐数据。
- 外链为sponsored/nofollow/noopener/noreferrer,新窗口访问;可复制优惠码并以状态文字反馈,HTTP本地使用用户点击触发的复制兼容路径,失败则选中文字供手动复制。不会读取用户原剪贴板。
- 不向正文源和AI写作稿重复写入价格/优惠码。本站文章API及其hash校验未改,不用SQL改文章;此模块与冻结的正文数据分离。
## 本地验收
5项专项测试/40断言通过:旧区替换与订阅/账号保留、未识别结构保护、入门子栏目/综合跳转、总开关与其他栏目、统一资料修改/单家关闭/推广链接。因项目既有CLI命令重复类,测试沿原约定使用`--process-isolation`,未改无关CLI代码。
全量只读遍历本地171篇公开目标文章:160篇资源文章均替换旧区,11篇教程统一追加,4篇综合教程含锚点跳转,171篇data-clipboard-text载荷完全一致,未识别旧推荐为0。数据库正文未写入。
本地浏览器1280px桌面表格、390px手机卡片无横向溢出;每页模块1处,文内链接实际滚动至距离顶部100px,复制优惠码显示“优惠码已复制”。图片、CSS/JS与原广告加载正常;没有点击服务商落地页。截图:[桌面](../../output/recommendations/desktop.png)、[手机](../../output/recommendations/mobile.png)。开发模式沿用,未运行build。完成检查后恢复浏览器默认视口。
本地预览:`http://fna-v3.loc/a/fn20261021.html#airport-recommendations`;入门`/a/clash-verge-rev-windows.html#airport-recommendations`;综合`/a/mihomo-dns-leak.html`可点击文内“机场推荐”跳转。
2026-10-31后续免费节点详情重设计仅将freenode页推荐区移至订阅及使用说明之后,仍使用本组件/配置;苹果ID维持原位置替换、教程文末维持不变。结构与验收见[免费节点内容页](FREENODE_ARTICLE_LAYOUT.md),均仅本地。
## Hardnerd优惠补齐(2026-10-31)
用户确认hardnerd同样使用`clashfreenode.com`享9折。仅更新共享推荐配置的HN coupon/discount及对应渲染断言,所有引用页随配置/响应缓存刷新生效,无需逐篇编辑正文。不创建或修改HN服务端优惠码,不执行下单或优惠核销。Git提交、正式HEAD、恢复点和服务器验收回执见`output/hn-coupon-20261031/`。