Skip to content

feat: 添加自定义产品链接抓取功能#113

Open
zephyrcicd wants to merge 5 commits intohteen:masterfrom
zephyrcicd:dev
Open

feat: 添加自定义产品链接抓取功能#113
zephyrcicd wants to merge 5 commits intohteen:masterfrom
zephyrcicd:dev

Conversation

@zephyrcicd
Copy link

新增功能:

  • 支持从Apple官网在线抓取产品数据
  • 添加缓存优先级切换选项
  • 自动检测预售状态并提供友好提示

改进内容:

  • 新增 product_fetch.go 实现产品数据抓取
  • 新增 config_flags.go 管理运行时配置
  • 优化 area.go 支持缓存和内置数据切换
  • 改进错误处理,区分预售和其他错误
  • 更新 README 添加在线抓取功能说明

解决问题:

  • 新产品发布时无需手动维护JSON文件
  • 预售期间提供明确的用户提示
  • 支持未内置地区的产品数据获取

新增功能:
- 支持从Apple官网在线抓取产品数据
- 添加缓存优先级切换选项
- 自动检测预售状态并提供友好提示

改进内容:
- 新增 product_fetch.go 实现产品数据抓取
- 新增 config_flags.go 管理运行时配置
- 优化 area.go 支持缓存和内置数据切换
- 改进错误处理,区分预售和其他错误
- 更新 README 添加在线抓取功能说明

解决问题:
- 新产品发布时无需手动维护JSON文件
- 预售期间提供明确的用户提示
- 支持未内置地区的产品数据获取
@hteen
Copy link
Owner

hteen commented Sep 12, 2025

⚠️ 存在以下 bug:

  • 抓取的产品信息会覆盖掉当前地区的产品列表, 即使切换地区之后也不会复原
  • 抓取的只有产品信息, 没有配套的门店信息

比如: 当前是中国大陆, 抓取德国商品链接 https://www.apple.com/de/shop/buy-iphone/iphone-17

image

Zephyr and others added 4 commits September 12, 2025 23:44
- 新增 build.sh 自动化打包脚本
- 修复 ARM64 架构应用无法打开的问题(自动处理签名)
- 规范应用名称为 "Apple Store Helper.app"(空格分隔)
- 更新 README 打包说明文档
问题修复:
1. 修复产品数据保存到错误地区的问题
   - 现在使用URL中提取的实际地区而非当前选中地区
   - 确保产品数据保存到正确的地区文件

2. 限制仅支持内置的7个地区
   - 添加地区验证,仅支持配置的地区
   - 移除自定义地区显示逻辑
   - 提供清晰的错误提示

3. 实现数据合并机制
   - 缓存数据与内置数据自动合并(按产品代码去重)
   - 移除缓存优先选项,统一使用合并策略

4. 代码结构优化
   - 将产品加载逻辑从area.go移到product.go
   - 修正服务职责划分,提高代码可维护性

5. UI改进
   - 改进错误提示文案,不显示技术性的locale代码
   - 优化成功提示的格式
   - 更新产品链接输入框提示,明确支持的地区

其他:
- 添加.DS_Store到.gitignore
@zephyrcicd
Copy link
Author

⚠️ 存在以下 bug:

  • 抓取的产品信息会覆盖掉当前地区的产品列表, 即使切换地区之后也不会复原
  • 抓取的只有产品信息, 没有配套的门店信息

比如: 当前是中国大陆, 抓取德国商品链接 https://www.apple.com/de/shop/buy-iphone/iphone-17

image
  1. 改为仅支持可选的地区产品数据拉取
  2. 将拉取到的数据区分地区保存,和对应地区的内置数据合并的方式展现

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