Skip to content

Repository files navigation

应用管理系统使用文档

项目简介

这是一个功能完整的应用管理系统,用于管理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 查看应用管理界面
  • 应用数据APIhttp://localhost:22002/api/apps
  • 应用打开APIhttp://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

功能详细说明

1. 应用扫描 (scan)

作用:扫描系统中的所有应用程序并更新 mac_apps.json 文件。

工作原理

  • 扫描 /Applications~/Applications/System/Applications 等目录
  • 获取应用的显示名称、路径等信息
  • 合并现有应用数据,保留分类和图标信息
  • 将新应用添加到 mac_apps.json 文件中,默认分类为"未分类"

2. 图标提取 (icons)

作用:从应用中提取图标并生成统一格式的图标文件。

工作原理

  • 支持从应用包中提取 .icns 格式的图标
  • 特殊处理嵌套应用(如微信读书、不背单词等)
  • 对于无法直接提取图标的应用,使用Pillow生成文字图标
  • 将图标保存到 icons/ 目录,文件名为 应用名称_随机ID.png
  • 更新 mac_apps.json 中的图标路径

3. Web服务器 (server)

作用:启动综合后端服务,提供静态文件服务和API接口。

提供的功能

  • 静态文件服务:支持HTML、CSS、JavaScript等静态文件的访问
  • 应用数据API:返回所有应用的详细信息
  • 应用打开API:通过API接口打开指定的应用程序

4. 工具集功能

Unicode修复 (unicode)

作用:修复JSON文件中的Unicode转义序列,确保中文字符正常显示。 用法python3 app_manager.py unicode [文件名]

名称统一 (name-unify)

作用:统一 mac_apps.jsonapp_order.json 中的应用名称。 工作原理:以 app_order.json 中的名称为准,更新 mac_apps.json 中的应用名称。

分类管理 (category)

作用:管理应用的分类信息。

  • view:查看当前所有应用分类及应用数量
  • update:根据 app_order.json 更新应用分类

应用验证 (verify)

作用:验证特定应用的配置是否正确。 工作原理:检查应用在 mac_apps.jsonapp_order.json 中的配置是否一致。

应用分析 (analyze)

作用:分析应用数据和名称语言统计。 提供的信息

  • 应用总数
  • 应用名称示例
  • 中英文应用数量统计
  • 特定应用搜索

匹配检查 (match-check)

作用:检查应用名称在两个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"

修复特定JSON文件

# 仅修复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          # 使用文档

常见问题

Q: 为什么有些应用的图标显示不正确?

A: 某些应用(如微信读书、不背单词等)的图标存储结构特殊,系统会自动为这些应用生成文字图标。

Q: 为什么服务器启动失败?

A: 可能是端口22001已被占用,请检查端口占用情况或修改代码中的PORT变量。

Q: 为什么扫描不到某些应用?

A: 系统只扫描 /Applications~/Applications/System/Applications 等常见目录中的应用,如果应用安装在其他位置,可能无法被扫描到。

注意事项

  1. 执行脚本时需要有足够的权限访问应用目录和写入文件
  2. 首次使用时建议先执行 scanicons 命令更新应用数据和图标
  3. 使用Pillow库可以生成更好的文字图标,建议安装
  4. 服务器启动后,可以通过 http://localhost:22002/front.html 访问Web界面

更新日志

  • v1.0.0: 整合所有功能到单个脚本文件,提供完整的命令行接口和Web服务器

如果您在使用过程中遇到问题,欢迎随时联系技术支持。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages