4个版本 (2个破坏性版本)
新版本 0.3.0 | 2024年8月12日 |
---|---|
0.2.1 | 2024年8月9日 |
0.2.0 |
|
0.1.1 | 2024年8月9日 |
0.1.0 | 2024年8月8日 |
#121 in 身份验证
每月325次下载
56KB
966 行
关于项目
一个用于与 senhasegura API 交互的Rust库。
此项目的目标是实现与senhasegura API在多种语言/运行时中的交互,同时保持单个核心代码库(即 senhasegura-rs
)和与之相关的其他几个库。
(返回顶部)
使用技术
(返回顶部)
入门
先决条件
交叉编译
为了交叉编译到Windows MSVC目标,请安装 cargo-xwin
# Clang
sudo apt install clang
# For assembly dependencies, which is the case
rustup component add llvm-tools-preview
# cargo-xwin
cargo install --locked cargo-xwin
# Windows x64 MSVC target
rustup target add x86_64-pc-windows-msvc
NAPI-RS
此项目使用 NAPI-RS 生成JS绑定,为 Node.js 提供一流支持。
为了在 senhasegura-js 库项目上工作,需要安装Node.js。
UniFFI
此项目使用 UniFFI 为多种语言生成绑定,例如 Python、C#、Go 和 C++。
UniFFI支持直接生成Python绑定,无需其他操作。然而,C#、Go和C++绑定需要安装第三方 bindgen 工具。
安装
Python、C#、Go和C++的安装说明待定...
Rust
[dependencies]
senhasegura-rs = "0.3"
Node.js
(返回顶部)
使用
Python、C#、Go和C++的示例待定...
Rust
use senhasegura_rs::{AccessProtectedInformationAPI, SenhaseguraClient};
let base_url = "https://senhasegura.acme.com".parse()?;
let client_id = "client_id";
let client_secret = "client_secret";
let client = SenhaseguraClient::builder(base_url, client_id, client_secret).build()?;
// Access protected information
println!("{:#?}", client.access_protected_information(28)?);
Node.js
有关更多示例,请参阅文档
(返回顶部)
构建
NAPI-RS
库的JS绑定构建过程由napi
的CLI自动化
cd senhasegura-js
yarn build
生成的绑定和二进制文件(即*.node
文件)保存在senhasegura-js
文件夹的根目录下,但Git会忽略它们。
UniFFI
这些说明将在未来自动化,在此期间将在此处记录。
-
生成调试版本的
senhasegura-rs
,同时启用uniffi
功能这是为了确保UniFFI元数据存在于二进制文件本身中。
cargo build -p senhasegura-rs --features uniffi
-
生成Python绑定
cargo run -p senhasegura-rs \ --features=uniffi/cli \ --bin uniffi-bindgen \ generate \ --library target/debug/libsenhasegura_rs.so \ -l python \ --out-dir bindings \ --no-format
-
生成C#绑定
uniffi-bindgen-cs --library target/debug/libsenhasegura_rs.so --out-dir bindings
-
生成Go绑定
uniffi-bindgen-go --library target/debug/libsenhasegura_rs.so --out-dir bindings
-
生成C++绑定
uniffi-bindgen-cpp --library target/debug/libsenhasegura_rs.so --out-dir bindings
-
生成Linux / Windows x64 发布二进制文件并将它们复制到
# Linux x64 (native) cargo build -p senhasegura-rs --features uniffi --release # Windows x64 MSVC cargo xwin build -p senhasegura-rs --features uniffi --release --target x86_64-pc-windows-msvc # Copy libraries cp \ target/release/libsenhasegura_rs.so \ target/x86_64-pc-windows-msvc/release/senhasegura_rs.dll \ bindings
所有生成的绑定都保存在bindings
文件夹中,但Git会忽略它们。
(返回顶部)
路线图
Senhasegura API
语言
有关建议功能(和已知问题)的完整列表,请参阅开放问题。
(返回顶部)
贡献
贡献使开源社区成为一个学习、灵感和创作的绝佳地方。您做出的任何贡献都将受到高度赞赏。
如果您有任何改进建议,请分叉仓库并创建一个拉取请求。您也可以简单地创建一个带有“增强”标签的问题。别忘了为项目加星!再次感谢!
- 分叉项目
- 创建您的功能分支(
git checkout -b feature/AmazingFeature
) - 提交您的更改(
git commit -m '添加一些惊人的功能'
) - 推送到分支(
git push origin feature/AmazingFeature
) - 打开拉取请求
(返回顶部)
许可证
在MIT许可证下分发。有关更多信息,请参阅LICENSE
。
(返回顶部)
联系信息
Gabriel Kim - gabrielkim13 - [email protected]
项目链接: https://github.com/gabrielkim13/senhasegura-rs
(返回顶部)
致谢
(返回顶部)
依赖项
~8–23MB
~377K SLoC