Skip to content

【Feature】新增 同订阅分组内不同机场拖拽排序、一键全量拉取上游、全局去重开关。#121

Merged
ZeroDeng01 merged 12 commits intoZeroDeng01:mainfrom
b1ghawk119:bugfix-113-and-feature-groups-management
Mar 3, 2026
Merged

【Feature】新增 同订阅分组内不同机场拖拽排序、一键全量拉取上游、全局去重开关。#121
ZeroDeng01 merged 12 commits intoZeroDeng01:mainfrom
b1ghawk119:bugfix-113-and-feature-groups-management

Conversation

@b1ghawk119
Copy link
Copy Markdown
Contributor

@b1ghawk119 b1ghawk119 commented Feb 23, 2026

Description / 描述

  1. [bugfix: 修复订阅拉取时已有节点名称/链接不更新的 Bug]

  2. [feat-1: 新增”分组管理“功能模块,支持分组内按机场优先级排序节点]

  3. [feat-2: 新增"一键拉取"功能,支持一键拉取所有已启用机场的节点]

  4. [feat-3: 新增"全局去重"开关,允许用户关闭全局去重功能]

bugfix详细说明:

#113 [Bug]: 节点管理会留存旧数据,重新拉取订阅之后,旧的节点信息还在。
49d90404543150a0d4e291b5d301418a

feat-1 【分组管理】模块

添加了同一个分组管理模块,用于管理同一个分组内不同机场的次序。

分组内的排序设定:
image

机场的实际添加顺序(按照原始版本,同一分组内按机场添加顺序排序,"鸡儿"的所有节点都出现在订阅文件的末尾):
image

进行分组了内排序以后的订阅结果("鸡儿"的所有节点按预期排序在分组的头部位置):
49d90404543150a0d4e291b5d301418a

feat-2 【一键拉取】功能

新增【一键全量拉取】按钮。

8406416df2f16ca1fdcac48c763d6a8f 4aa491557d93786ab72c121ba0686c25

feat-3 【全局去重】开关

新增【全局去重】启用/禁用开关,默认启用,兼容旧版本行为。

image

Type of Change / 更改类型

  • [ √] 🐛 Bug fix / 修复 Bug
  • [ √] ✨ New feature / 新功能
  • 📝 Documentation update / 文档更新
  • [ √] 🎨 Style/UI improvement / 样式/界面改进
  • ♻️ Code refactoring / 代码重构
  • ⚡ Performance improvement / 性能优化
  • 🔧 Configuration change / 配置更改
  • 🧪 Test update / 测试更新

Testing / 测试

  • [ √] I have tested this change locally / 我已在本地测试此更改
  • [ √] I have added/updated tests for this change / 我已为此更改添加/更新测试
  • [ √] All existing tests pass / 所有现有测试通过

Checklist / 检查清单

  • [ √] My code follows the project's coding style / 我的代码遵循项目的代码风格
  • [ √] I have commented my code where necessary / 我已在必要处添加注释
  • I have updated the documentation accordingly / 我已相应更新文档
  • [ √] My changes do not introduce any security vulnerabilities / 我的更改不会引入任何安全漏洞
  • [ √] I have considered the performance impact of my changes / 我已考虑更改的性能影响

Additional Notes / 其他说明

- 新增 GroupAirportSort 数据模型与缓存,支持为每个分组配置机场排序权重
- 新增分组管理 API(获取分组列表/详情、保存排序)
- 新增前端分组管理页面(左侧分组列表 + 右侧拖拽排序)
- 修改 GetSub 分组展开逻辑,按机场排序权重 sort.SliceStable 重排节点
- 完善 .gitignore 忽略 .ace-tool/ 和 webs/package-lock.json
- Airport.Del() 中调用 CleanupAirportSortRecords 清理关联排序记录
- 新增 CleanupGroupSortRecords 供分组清空场景使用
@b1ghawk119 b1ghawk119 changed the title 【Feature】分组内排序、一键全量拉取功能。 【Feature】新增 分组内排序、一键全量拉取功能。 Feb 23, 2026
@b1ghawk119 b1ghawk119 changed the title 【Feature】新增 分组内排序、一键全量拉取功能。 【Feature】新增 分组内排序、一键全量拉取上游、全局去重开关。 Feb 24, 2026
@b1ghawk119 b1ghawk119 changed the title 【Feature】新增 分组内排序、一键全量拉取上游、全局去重开关。 【Feature】新增 同订阅分组内不同机场拖拽排序、一键全量拉取上游、全局去重开关。 Feb 24, 2026
@ZeroDeng01
Copy link
Copy Markdown
Owner

ZeroDeng01 commented Feb 25, 2026

感谢pr,提交内容比较多,ai的代码占比比较大,这周我需要先抽空跑下测试

Comment thread .gitignore Outdated
Comment thread webs/package-lock.json
Copy link
Copy Markdown
Contributor Author

@b1ghawk119 b1ghawk119 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

已还原Package-lock.json、.gitignore。

@b1ghawk119 b1ghawk119 requested a review from ZeroDeng01 March 1, 2026 09:06
Comment thread models/node_group_order.go
Comment thread webs/src/views/airports/index.jsx
@b1ghawk119 b1ghawk119 force-pushed the bugfix-113-and-feature-groups-management branch from 6b8a83a to c312f7c Compare March 2, 2026 09:37
@b1ghawk119
Copy link
Copy Markdown
Contributor Author

已补充文档,迁移【分组排序】功能到【订阅管理】的工具栏:

image image image

@ZeroDeng01 ZeroDeng01 merged commit fcd829d into ZeroDeng01:main Mar 3, 2026
@ZeroDeng01
Copy link
Copy Markdown
Owner

THX~

ZeroDeng01 pushed a commit that referenced this pull request Mar 3, 2026
* bugfix: 修复订阅拉取时已有节点名称/链接不更新的 Bug

* feat: 新增分组管理功能,支持分组内按机场优先级排序节点

- 新增 GroupAirportSort 数据模型与缓存,支持为每个分组配置机场排序权重
- 新增分组管理 API(获取分组列表/详情、保存排序)
- 新增前端分组管理页面(左侧分组列表 + 右侧拖拽排序)
- 修改 GetSub 分组展开逻辑,按机场排序权重 sort.SliceStable 重排节点
- 完善 .gitignore 忽略 .ace-tool/ 和 webs/package-lock.json

* fix: 机场删除时级联清理分组排序记录,避免残留数据

- Airport.Del() 中调用 CleanupAirportSortRecords 清理关联排序记录
- 新增 CleanupGroupSortRecords 供分组清空场景使用

* docs: 更新分组管理文档,补充级联清理、响应解包修复等走查记录

* 增加【一键拉取】功能

* 添加全局的节点去重开关配置项

* 添加全局的节点去重开关配置项

* 修复同机场以及跨机场的节点顺序错乱问题

* Revert .gitignore entries per review

* Restore package-lock.json

* 移动【分组内排序】功能到【订阅管理】,补全【分组排序】和【一键全量拉取】文档

* 修复迁移时发现的bug

---------

Co-authored-by: b1ghawk <b1ghawk@icloud.com>
ZeroDeng01 pushed a commit that referenced this pull request Mar 3, 2026
* bugfix: 修复订阅拉取时已有节点名称/链接不更新的 Bug

* feat: 新增分组管理功能,支持分组内按机场优先级排序节点

- 新增 GroupAirportSort 数据模型与缓存,支持为每个分组配置机场排序权重
- 新增分组管理 API(获取分组列表/详情、保存排序)
- 新增前端分组管理页面(左侧分组列表 + 右侧拖拽排序)
- 修改 GetSub 分组展开逻辑,按机场排序权重 sort.SliceStable 重排节点
- 完善 .gitignore 忽略 .ace-tool/ 和 webs/package-lock.json

* fix: 机场删除时级联清理分组排序记录,避免残留数据

- Airport.Del() 中调用 CleanupAirportSortRecords 清理关联排序记录
- 新增 CleanupGroupSortRecords 供分组清空场景使用

* docs: 更新分组管理文档,补充级联清理、响应解包修复等走查记录

* 增加【一键拉取】功能

* 添加全局的节点去重开关配置项

* 添加全局的节点去重开关配置项

* 修复同机场以及跨机场的节点顺序错乱问题

* Revert .gitignore entries per review

* Restore package-lock.json

* 移动【分组内排序】功能到【订阅管理】,补全【分组排序】和【一键全量拉取】文档

* 修复迁移时发现的bug

---------

Co-authored-by: b1ghawk <b1ghawk@icloud.com>
@ZeroDeng01 ZeroDeng01 self-requested a review March 3, 2026 13:00
Copy link
Copy Markdown
Owner

@ZeroDeng01 ZeroDeng01 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants