一个用于管理域名授权和定时任务的Chrome浏览器扩展插件,支持Cookie收集、应用数据收集和任务调度功能。
- 目标用户: 需要管理浏览器Cookie和定时任务的开发者或高级用户
- 核心功能: 提供对特定域名的Cookie收集、任务管理和通知功能
- 技术架构: 基于Chrome扩展MV3架构,使用Vue 3 + Naive UI构建响应式界面
- 新增: 苹果开发者Team ID数据收集功能,支持获取developerTeamId和团队信息
- 新增: Apple Team ID API集成,可获取团队名称、类型、状态、会员信息等
- 新增: 任务配置界面新增"收集苹果团队信息"选项,支持独立收集Team ID数据
- 扩展: 混合数据收集支持,可同时收集极光推送、苹果应用和苹果团队信息
- 类型: 新增AppleActorInfo、AppleActorListResponse、AppleProviderInfo、ApplePersonInfo等类型定义
- API: 新增collectAppleActorInfo实时收集函数,使用真实API端点/olympus/v1/actors
- 兼容: 保留AppleTeamInfo和AppleTeamListResponse别名以保持向后兼容
- 优化: 根据真实API响应结构更新类型定义,支持从included中提取developerTeamId
- 优化: 简化苹果开发者CSRF Token获取,使用固定默认值 "csrf-itc"
- 移除: 删除不必要的
getAppleCSRFToken函数,减少API调用开销 - 改进: 苹果应用数据收集更加高效和稳定
- 新增: 苹果开发者应用数据收集功能,支持从App Store Connect获取应用列表
- 新增: 混合数据源支持,同时收集极光推送和苹果应用数据
- 新增: 苹果开发者Cookie认证机制,自动获取CSRF Token
- 新增: 任务配置界面新增苹果应用数据收集选项
- 扩展: 支持多平台应用数据的统一管理和收集
- 重要: 极光推送Token获取方式改为从Cookie获取,不再依赖localStorage
- 优化: 简化Chrome Cookies API使用,直接使用Promise而不再手动封装
- 简化: 移除测试文件,改为手动测试验证
- 新增: 完整的应用数据收集功能,支持用户信息、应用列表、应用详情收集
- 新增: localStorage数据收集功能(通过Content Script实现)
- 改进: 实时token获取机制,避免token过期问题
- 改进: 任务列表界面显示应用数据收集状态
- 新增: 极光推送API集成
- 新增: 应用数据收集器模块
- 新增: 类型安全的TypeScript实现
- 新增: 模块化设计架构
- 基础: 域名授权管理
- 基础: Cookie收集功能
- 基础: 定时任务调度
- 基础: Vue 3 + Naive UI界面
taskCrx/
├─ src/
│ ├─ background.ts # Chrome扩展后台服务工作线程
│ ├─ utils/
│ │ └─ app-collector.ts # 应用数据收集器(极光推送API)
│ ├─ content/
│ │ └─ localStorage-collector.ts # 网页localStorage数据收集
│ ├─ options/ # 插件设置页面
│ │ ├─ App.vue # 主组件
│ │ ├─ store.ts # 状态管理
│ │ └─ components/
│ │ ├─ DomainList.vue # 域名授权列表组件
│ │ └─ TaskList.vue # 任务管理组件
│ └─ types/
│ └─ index.ts # TypeScript类型定义
├─ manifest.config.ts # Chrome插件配置
├─ vite.config.ts # Vite构建配置
├─ tsconfig.json # TypeScript编译配置
└─ package.json
- cookies: 访问浏览器的Cookie数据(用于获取极光推送Token)
- storage: 存储插件的设置和数据
- alarms: 设置定时任务
- notifications: 显示桌面通知
- scripting: 支持content script注入
- activeTab: 获取当前活动标签页信息
- tabs: 管理浏览器标签页
- host_permissions: 访问指定的域名(包括极光推送域名和苹果开发者域名)
- 功能: 展示插件名称和简短描述
- 组件: Header.vue
- UI组件: Naive UI 的 NLayoutHeader、NText 等组件
- 功能: 显示用户已授权的域名列表,支持添加和删除域名
- 组件: DomainList.vue
- UI组件: Naive UI 的 NList、NListItem、NButton 等组件
- 功能: 显示每个域名对应的任务,支持添加任务和应用数据收集配置
- 组件: TaskList.vue、AddTaskDialog.vue
- UI组件: Naive UI 的 NCard、NButton、NDialog、NInput 等组件
- 新增: 应用数据收集配置界面,支持用户信息、应用列表、数量限制设置
- 功能: 从极光推送API获取应用相关数据
- 特性: 实时Token获取,支持用户信息、应用列表、应用详情收集
- API: 支持极光推送完整API集成
- 功能: 从Apple App Store Connect API获取应用相关数据
- 认证: 使用苹果开发者网站Cookie进行认证,使用固定CSRF Token "csrf-itc"
- 数据范围: 支持获取应用列表、应用基本信息、版本信息等
- Team ID支持: 支持获取Apple开发者团队信息,包括developerTeamId、团队名称、类型、状态等
- 限制: 需要用户在浏览器中登录苹果开发者账号
- 优化: 无需动态获取CSRF Token,使用默认值提高效率
- 功能: 通过Content Script收集网页localStorage数据
- 支持: 全量locStorage获取、指定键值获取、关键词搜索
- 限制: 仅能访问已打开标签页的localStorage
- 前端: Vue 3.5.18
- 构建工具: Vite 7.1.1
- UI框架: Naive UI 2.42.0
- 类型检查: TypeScript 5.9.2
- 扩展构建: @crxjs/vite-plugin 2.1.0
- 打包工具: vite-plugin-zip-pack 1.2.4
- 必需: Node.js >= 18.x
- 包管理: npm 或 pnpm
- 测试浏览器: Chrome浏览器(用于调试扩展)
- 推荐编辑器: VS Code + TypeScript支持插件
- manifest.config.ts: 配置插件的基本信息和权限
- vite.config.ts: 配置 Vite 的构建选项,使用 @vitejs/plugin-vue 插件处理 Vue 文件
- tsconfig.json: TypeScript编译配置,使用严格模式
-
安装依赖:
npm install # 或 pnpm install -
开发环境:
npm run dev # 或 pnpm dev -
构建插件:
npm run build # 或 pnpm build -
加载到Chrome:
- 访问
chrome://extensions/页面 - 启用开发者模式
- 点击“加载已解压的扩展程序”
- 选择构建后的
dist目录
- 访问
- 主题: 使用 Naive UI 的默认主题,支持深色和浅色模式
- 样式: 使用 CSS 自定义样式,确保插件界面简洁、易用
- 布局: 使用 Naive UI 的布局组件,确保插件在不同设备上良好显示
- 适配: 根据屏幕尺寸调整组件的布局和大小
- 应用数据收集: APP_DATA_COLLECTION.md
- localStorage数据收集: LOCALSTORAGE_COLLECTION.md
- Cookie Token更新: COOKIE_TOKEN_UPDATE.md
- 权限管理: 谨慎处理 host_permissions 和 cookies 权限,防止滥用
- 数据隐私: 只收集必要的数据,遵循最小权限原则
- 类型安全: 使用 TypeScript 严格模式,确保代码类型安全
- 性能优化: 插件保持轻量,避免影响浏览器性能
- ✅ 现代化架构: 基于Chrome扩展MV3架构
- ✅ 实时Token管理: 自动从Cookie获取最新token,避免过期问题
- ✅ 类型安全: 完整的TypeScript类型定义和JSDoc注释
- ✅ 模块化设计: 清晰的代码组织和分层架构
- ✅ 多数据源: 支持Cookie、localStorage、极光推送API、苹果开发者API、Apple Team ID数据收集
- ✅ 响应式界面: 基于Vue 3 + Naive UI的现代化界面
- ✅ 手动测试: 采用手动测试验证,确保实际使用场景的可靠性