这是一个功能完整的应用管理系统,用于管理Mac系统上的应用程序,包括应用扫描、图标提取、分类管理、数据验证和Web界面等功能。所有功能都整合在单个脚本文件 app_manager.py 中,使用方便。
- 📱 应用扫描 - 扫描系统中的所有应用程序并更新应用数据
- 🖼️ 图标提取 - 从应用中提取图标并生成统一格式的图标文件
- 🔧 工具集 - 提供Unicode修复、名称统一、分类管理等辅助功能
- 🚀 Web服务器 - 启动后端服务,提供静态文件服务和API接口
- 📊 数据分析 - 分析应用数据和名称语言统计
- ✅ 配置验证 - 验证应用配置的一致性
- macOS系统
- Python 3.6及以上版本
# 安装Pillow库(用于生成图标,可选)
pip3 install pillow# 启动综合后端服务
python3 app_manager.py server服务器将在 http://localhost:22002 启动,提供以下功能:
- 静态文件服务:访问
http://localhost:22002/front.html查看应用管理界面 - 应用数据API:
http://localhost:22002/api/apps - 应用打开API:
http://localhost:22002/api/open-app?path=应用路径
系统提供了完整的命令行功能,可以通过终端命令执行各种操作:
# 查看帮助信息
python3 app_manager.py help
# 扫描系统中的所有应用
python3 app_manager.py scan
# 提取应用图标
python3 app_manager.py icons
# 修复JSON文件中的Unicode转义序列
python3 app_manager.py unicode
# 统一mac_apps.json和app_order.json中的应用名称
python3 app_manager.py name-unify
# 查看应用分类
python3 app_manager.py category view
# 更新应用分类
python3 app_manager.py category update
# 验证特定应用的配置
python3 app_manager.py verify "OBS Studio"
# 分析应用数据和名称语言统计
python3 app_manager.py analyze
# 检查应用名称在两个JSON文件中的匹配情况
python3 app_manager.py match-check
# 执行所有修复和验证操作
python3 app_manager.py all作用:扫描系统中的所有应用程序并更新 mac_apps.json 文件。
工作原理:
- 扫描
/Applications、~/Applications、/System/Applications等目录 - 获取应用的显示名称、路径等信息
- 合并现有应用数据,保留分类和图标信息
- 将新应用添加到
mac_apps.json文件中,默认分类为"未分类"
作用:从应用中提取图标并生成统一格式的图标文件。
工作原理:
- 支持从应用包中提取
.icns格式的图标 - 特殊处理嵌套应用(如微信读书、不背单词等)
- 对于无法直接提取图标的应用,使用Pillow生成文字图标
- 将图标保存到
icons/目录,文件名为应用名称_随机ID.png - 更新
mac_apps.json中的图标路径
作用:启动综合后端服务,提供静态文件服务和API接口。
提供的功能:
- 静态文件服务:支持HTML、CSS、JavaScript等静态文件的访问
- 应用数据API:返回所有应用的详细信息
- 应用打开API:通过API接口打开指定的应用程序
作用:修复JSON文件中的Unicode转义序列,确保中文字符正常显示。
用法:python3 app_manager.py unicode [文件名]
作用:统一 mac_apps.json 和 app_order.json 中的应用名称。
工作原理:以 app_order.json 中的名称为准,更新 mac_apps.json 中的应用名称。
作用:管理应用的分类信息。
view:查看当前所有应用分类及应用数量update:根据app_order.json更新应用分类
作用:验证特定应用的配置是否正确。
工作原理:检查应用在 mac_apps.json 和 app_order.json 中的配置是否一致。
作用:分析应用数据和名称语言统计。 提供的信息:
- 应用总数
- 应用名称示例
- 中英文应用数量统计
- 特定应用搜索
作用:检查应用名称在两个JSON文件中的匹配情况。 提供的信息:
mac_apps.json中有但app_order.json中缺失的应用app_order.json中有但mac_apps.json中缺失的应用
# 1. 扫描系统中的所有应用
python3 app_manager.py scan
# 2. 提取所有应用的图标
python3 app_manager.py icons
# 3. 统一应用名称
python3 app_manager.py name-unify
# 4. 更新应用分类
python3 app_manager.py category update
# 5. 检查应用匹配情况
python3 app_manager.py match-check
# 6. 启动Web服务器
python3 app_manager.py server# 提取OBS Studio和Visual Studio Code的图标
python3 app_manager.py icons "OBS Studio" "Code"# 仅修复mac_apps.json文件中的Unicode转义序列
python3 app_manager.py unicode mac_apps.json应用管理系统/
├── app_manager.py # 主程序文件,整合所有功能
├── mac_apps.json # 应用数据文件
├── app_order.json # 应用分类和排序配置
├── front.html # Web前端界面
├── icons/ # 应用图标目录
│ ├── Code_0c99c202.png
│ ├── OBS_Studio_e1ed75e6.png
│ └── ...
└── README.md # 使用文档
A: 某些应用(如微信读书、不背单词等)的图标存储结构特殊,系统会自动为这些应用生成文字图标。
A: 可能是端口22001已被占用,请检查端口占用情况或修改代码中的PORT变量。
A: 系统只扫描 /Applications、~/Applications、/System/Applications 等常见目录中的应用,如果应用安装在其他位置,可能无法被扫描到。
- 执行脚本时需要有足够的权限访问应用目录和写入文件
- 首次使用时建议先执行
scan和icons命令更新应用数据和图标 - 使用Pillow库可以生成更好的文字图标,建议安装
- 服务器启动后,可以通过
http://localhost:22002/front.html访问Web界面
- v1.0.0: 整合所有功能到单个脚本文件,提供完整的命令行接口和Web服务器
如果您在使用过程中遇到问题,欢迎随时联系技术支持。