获取公开配置
一次 GET 请求即可返回 Firebase 项目配置。apiKey 本来就是公开的:它标识的是项目,而不是调用方。请缓存它,每周刷新一次即可。
第三方集成参考
TigerSystem 账户连接每一个应用和设备。你的应用、设备或 Home Assistant 通过 Firebase 原生接入:使用用户自己的凭据登录,读取其在 Firestore 中的线轴和料架,并写回重量。
$ GET https://tigertag-cdn.web.app/__/firebase/init.json
POST https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key={apiKey}
{ "email": "user@example.com", "password": "…", "returnSecureToken": true }每个客户端都遵循相同的四个步骤:获取公开的 Firebase 配置,以用户身份登录,使用用户的令牌调用 Firestore REST API,并保持该令牌有效。
一次 GET 请求即可返回 Firebase 项目配置。apiKey 本来就是公开的:它标识的是项目,而不是调用方。请缓存它,每周刷新一次即可。
用户自己的邮箱和密码会返回一个 UID、一个有效期 1 小时的 idToken 和一个 refreshToken。Google Sign-In 需要浏览器,因此无界面客户端使用密码登录。
将 idToken 作为 Bearer 令牌发送。线轴位于 users/{uid}/inventory,料架位于 users/{uid}/racks;重量为净重(克),日期为 Unix 毫秒时间戳。
每个客户端都使用最终用户自己的凭据登录。切勿在第三方客户端中包含 firebase-admin SDK 或任何管理员密钥。
Firestore Security Rules 根据已登录用户检查每个请求:所有者读写自己的文档,好友可读取库存和料架,其余一律拒绝。
文档路径和字段名称保持稳定。重命名或移除字段至少提前 3 个月在更新日志中通知;新字段始终只增不改。
一个自定义组件草案,为每个线轴提供一个传感器,以剩余重量(克)作为其状态。指南还涵盖好友库存、分页和令牌存储。

根据扫描到的 RFID UID 查找线轴(先 uid,再 twin_uid),计算净重,并通过更新掩码写入 weight_available 和 last_update。指南最后附有一个完整的 ESP32 程序(WiFi、ArduinoJson)。

一个基于 Pyrebase4 的极简 Python 客户端:登录,列出你的线轴,并显示每位好友拥有的线轴数量。指南包含完整脚本和一次运行示例。
不需要。每个客户端都使用最终用户自己的 TigerSystem 邮箱和密码登录,由 Firestore Security Rules 决定该用户可以读取或写入什么。不存在共享的管理员密钥,并且绝不能在第三方客户端中使用 firebase-admin SDK。
apiKey 标识的是 Firebase 项目,而不是调用方。如果没有以真实用户身份登录获得的有效 idToken,它无法访问任何内容;访问控制由身份验证和 Security Rules 完成。
不能直接登录:Google Sign-In 需要浏览器重定向。只使用过 Google 登录的用户需要先通过 Tiger Studio Manager 2 或 Tiger NFC Connect 的忘记密码流程为 TigerSystem 账户设置密码,然后再使用邮箱和密码登录。
传感器最高每 5 分钟一次,料架概览每 15 分钟一次,且绝不低于 30 秒。电子秤仅在重量变化时写入。列表读取应传入 limit:库存为 200,料架为 50。
可以,只读。两位用户成为好友后,双方都会在 users/{uid}/friends 下拥有对方的文档,规则允许好友读取库存和料架。任何一方都可以随时解除好友关系,访问会立即被切断。