Chrome 浏览器插件
基于 CRXJS + Vite + React 19 + TypeScript 构建的养基宝持仓 Popup 扩展。与 fund-helper Web 应用共享养基宝 API 与数据归一化逻辑,但不依赖后端与 MongoDB,适合个人在浏览器工具栏快速查看持仓。
功能
与 Web 应用对比
浏览器兼容性
Chrome 扩展 Popup 最大高度为 600px,插件 UI 已按此限制布局。
安装(加载已解压扩展)
- 打开
chrome://extensions(Edge:edge://extensions) - 开启 开发者模式
- 加载已解压的扩展程序 → 选择
chrome-extension/dist/目录 - 点击工具栏图标打开 Popup
开发
修改代码后 Popup 需重新打开才能看到最新界面;扩展会自动热更新。
发版
版本号由仓库根目录 versions.json 统一管理,发版前无需手动改 package.json / manifest.config.ts。
CI workflow:.github/workflows/chrome-release.yml
产物说明:assets/releases/README.md
项目结构
技术说明
数据流
签名与 API
- 基址:
http://browser-plug-api.yangjibao.com - 签名:
MD5(url_path + token + timestamp + API_SECRET),与backend/app/yjb/client.py一致 - Manifest 声明
host_permissions访问养基宝域名 - API Secret 内置于插件代码,适合个人使用,勿公开分发含密钥的构建包
登录流程
POST /api/qr/create获取 QR URL- Canvas 渲染二维码,每 2s 轮询
GET /api/qr/state state === 2且返回token→ 保存 Session → 进入持仓页- Token 401 → 清除 Session → 回到登录页
UI 布局
- 宽度 400px,高度 600px(Chrome Popup 上限)
- 单一滚动容器(
.view),避免内外双层滚动 - 涨
#fc4e50/ 跌#07b360,与 Web 应用视觉一致
参考
- crxjs/chrome-extension-tools
- TECH.md §17 — 架构与主项目关系
- vscode-extension/README.md — VS Code / Cursor 扩展(同源 UI)
- API_README.md — 养基宝上游 API