Skip to content

新增 macOS 恢复定位按钮,修复代理恢复失败后的重试 - #4

Merged
OpenHRTT merged 1 commit into
OpenHRTT:mainfrom
rym1e:feature/ryme/restoreloc
Sep 22, 2026
Merged

OpenHRTT merged 1 commit into
OpenHRTT:mainfrom
rym1e:feature/ryme/restoreloc

Conversation

@rym1e

@rym1e rym1e commented Sep 20, 2026

Copy link
Copy Markdown
Contributor

标题:新增 macOS App 恢复定位按钮

变更说明

macOS 用户此前需要退出应用才能停止定位修改;新增恢复定位按钮,可以一键恢复定位。

实现方式

复用项目已有的 AppWLocPACManager.stop(clearState:completion:) 接口,为 macOS App 增加“恢复定位”的界面入口,调用现有逻辑恢复原 PAC 设置、停止本地代理并清除锁定坐标。

在此基础上补充:

  • 恢复失败时展示具体错误,保留未恢复项,支持重试及重新启动后恢复。
  • 锁定和恢复期间禁用重复操作,恢复时取消尚未执行的定位刷新。
  • 将锁定与恢复按钮并排,收藏与坐标输入放在第二行,外部链接移至底部。

已执行验证

环境:Apple Silicon Mac、macOS 26.4.1、Xcode 26.6。

  • macOS Debug 构建通过。
  • 恢复逻辑回归测试通过,覆盖部分失败、失败重试、重复恢复、重启后恢复和损坏备份。
  • 本地验证按钮显示和恢复提示,实测恢复成功。

验收方式

  1. 记录当前网络服务的 PAC 地址及启用状态。
  2. 选择测试地点并锁定,点击“恢复定位”,确认原 PAC 设置恢复、锁定状态清除,地图选点和收藏保留。
  3. 按提示刷新系统定位服务,检查实际位置。
  4. 连续点击恢复,确认不会重复执行;操作期间锁定和恢复按钮均禁用。
  5. 在隔离测试环境模拟部分网络服务恢复失败,确认错误提示、备份保留及重试行为。
  6. 在隔离环境中锁定后强制退出,重新打开应用,确认可从备份恢复。

自动回归命令:

python3 tests/test_pac_restore.py

调整锁定、恢复与选点操作的布局,取消恢复时待执行的定位刷新。保留未恢复的 PAC 备份,支持重试及重启后恢复,并补充回归测试和教程说明。
@OpenHRTT
OpenHRTT merged commit 710b5ea into OpenHRTT:main Sep 22, 2026
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.

2 participants