这个项目能做什么

Spenddy Link 是一款注重隐私的轻量级浏览器扩展,可将 Swiggy 订单历史无缝传输至 Spenddy Web 应用,用于饮食支出分析。 ## 功能说明 该扩展执行三项核心操作: 1. 检测用户是否已登录 Swiggy,并确认连接状态 2. 按需获取完整订单历史——数据保留在浏览器中,直到用户访问 Spenddy 3. 向 Spenddy Web 应用暴露已获取的数据,支持一键导入 ## 安装 可从 Chrome 网上应用店获取。同时支持 Firefox。基于 WXT 和 TypeScript 构建。 ## 前置条件 - Node.js ≥ 18 - pnpm ≥ 8(或 npm / yarn) - WXT CLI(可选;作为开发依赖内置) ## 开发 运行 `pnpm install` 安装依赖,然后执行 `pnpm dev` 启动 Chromium/Chrome 版本,或执行 `pnpm dev:firefox` 启动 Firefox 版本。构建输出分别位于 `.wxt/dist/` 或 `.wxt/dist-firefox/`。 生产构建:执行 `pnpm build`(Chrome)或 `pnpm build:firefox`。通过 `pnpm zip` 或 `pnpm zip:firefox` 生成压缩包。 本地加载方式:在 `chrome://extensions`(或 `edge://extensions`)中启用开发者模式,点击"加载已解压的扩展程序",选择 dist 目录。对于 Firefox,使用 `about:debugging#/runtime/this-firefox` 加载 Firefox dist 中的 manifest.json。 ## 使用步骤 1. 打开 Swiggy 并登录 2. 点击 Spenddy Link 扩展图标,确认绿色 "Connected" 状态 3. 点击 "Fetch Order Data"——进度实时显示 4. 点击 "Go to Spenddy" 将数据导入 Spenddy Web 应用 ## 项目结构 - `entrypoints/background.ts` — Service Worker 后台脚本 - `entrypoints/swiggy.content.ts` — 注入到 Swiggy 的内容脚本 - `entrypoints/spenddy.content.ts` — 注入到 Spenddy 的内容脚本 - `entrypoints/popup/` — 扩展弹出窗口 UI - `components/` — 共享 TypeScript 工具 - `wxt.config.ts` — WXT 配置文件 更多文档涵盖架构和数据类型参考。 许可证:MIT — © 2024 Spenddy