16 个稳定版本

2.1.2 2024年6月14日
2.1.0 2024年3月6日
2.0.9 2023年10月10日
2.0.8 2023年7月13日
1.0.3 2020年4月27日

#334 in 网页编程

Download history 40/week @ 2024-05-02 20/week @ 2024-05-09 83/week @ 2024-05-16 54/week @ 2024-05-23 55/week @ 2024-05-30 50/week @ 2024-06-06 173/week @ 2024-06-13 44/week @ 2024-06-20 28/week @ 2024-06-27 47/week @ 2024-07-04 20/week @ 2024-07-11 25/week @ 2024-07-18 52/week @ 2024-07-25 50/week @ 2024-08-01 30/week @ 2024-08-08 32/week @ 2024-08-15

每月 168 次下载

MIT 许可证

25KB
437

firebase-rs

Crates.io docs.rs License

Rust 语言实现的 Firebase 库。

firebase

完整文档

文档

功能

如何使用

加载库

use firebase_rs::*;

无认证

let firebase = Firebase::new("https://myfirebase.firebaseio.com").unwrap();

有认证

let firebase = Firebase::auth("https://myfirebase.firebaseio.com", "AUTH_KEY").unwrap();

用于嵌套对象的用法

let firebase = Firebase::new("https://myfirebase.firebaseio.com").unwrap().at("users").at("USER_ID").at(...);

以流的形式读取数据

实时事件

let firebase = Firebase::new("https://myfirebase.firebaseio.com").at("users").unwrap();
let stream = firebase.with_realtime_events().unwrap();
stream
.listen( | event_type, data| {
println ! ("Type: {:?} Data: {:?}", event_type, data);
}, | err| println!("{:?}", err), false).await;

读取数据

以字符串形式读取数据

let firebase = Firebase::new("https://myfirebase.firebaseio.com").unwrap().at("users");
let users = firebase.get_as_string().await;

使用泛型类型(所有)读取数据

#[derive(Serialize, Deserialize, Debug)]
struct User {
    name: String
}

let firebase = Firebase::new("https://myfirebase.firebaseio.com").unwrap().at("users");
let user = firebase.get::<HashMap<String, User> > ().await;

使用泛型类型(单条记录)读取数据

#[derive(Serialize, Deserialize, Debug)]
struct User {
    name: String
}

let firebase = Firebase::new("https://myfirebase.firebaseio.com").unwrap().at("users").at("USER_ID");
let user = firebase.get::<User>().await;

设置数据

#[derive(Serialize, Deserialize, Debug)]
struct User {
    name: String
}

let user = User { name: String::default () };
let firebase = Firebase::new("https://myfirebase.firebaseio.com").unwrap().at("users");
firebase.set( & user).await;

更新数据

#[derive(Serialize, Deserialize, Debug)]
struct User {
    name: String
}

let user = User { name: String::default () };
let firebase = Firebase::new("https://myfirebase.firebaseio.com").unwrap().at("users").at("USER_ID");
firebase.update( & user).await;

带参数

let firebase = Firebase::new("https://myfirebase.firebaseio.com").unwrap().with_params().start_at(1).order_by("name").equal_to(5).finish();
let result = firebase.get().await;

贡献者

感谢这些可爱的人 ✨

依赖项

~8–20MB
~303K SLoC