这个项目能做什么
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
评论
0 评分人数达到10人后显示
登录后参与讨论。