多账户支持:连多个 Kikoeru 服务器随时切换
什么场景需要多账户
- 你自己有一个 Kikoeru 服务器(主库),想连朋友/家人的服务器偶尔听听
- 测试服务器和正式服务器分开
- 不同设备上跑了不同 Kikoeru 实例,都想能随时访问
多账户怎么实现
Kikoeru 后端本身是单用户架构(TODO 列表里写了"重构 config 和 schema,添加多用户支持(目前实际上仍然是单用户架构)"),所以"多账户"实际上是客户端保存多个服务器地址,而不是一个后端支持多用户登录。
也就是说:
客户端
├── 服务器 A(我的主库:192.168.1.100:8888)
├── 服务器 B(测试库:192.168.1.200:48488)
└── 服务器 C(朋友的库:friend.example.com:48488)
点击切换,客户端重新连接对应的后端、拉取它的 SQLite 数据。
Android KikoFlu 的多账户
设置里有"添加服务器"选项:
- 填服务器地址(URL)
- 测试连接延迟
- 保存并命名(比如"主库""测试""朋友家")
- 主界面随时点切换
每个服务器的收藏、进度、星标独立存在各自的后端 SQLite 里——客户端只是切换数据源,不做数据合并。
iOS TestFlight 客户端
iOS 客户端也支持多服务器配置,在设置里能添加/编辑/删除服务器地址。
Web PWA 的局限
Web 端(浏览器直接访问)只能连接当前 URL 对应的那个后端——浏览器没有"账户管理"界面。要换服务器得换 URL(或换浏览器标签)。
关于后端的多用户支持
作者在 TODO 里明确写了"重构 config 和 schema,添加多用户支持",但目前还没实现。现在是:
- 单用户架构:整个 SQLite 库只有一个用户,JWT 鉴权也是单用户
- 如果想给别人用你的 Kikoeru,你得给他们你的 JWT Token(或关掉 JWT 直接让他们访问)
- 这是自托管场景的常见取舍——先满足单人/小团队使用
如果后端实现多用户后,客户端的多账户功能会进一步完善(同一后端多用户登录)。