#api-client #js #uni-ffi #content #run-time #nodejs #senhasegura

bin+lib senhasegura-rs

Senhasegura API客户端,适用于Rust

4个版本 (2个破坏性版本)

新版本 0.3.0 2024年8月12日
0.2.1 2024年8月9日
0.2.0 2024年8月9日
0.1.1 2024年8月9日
0.1.0 2024年8月8日

#121 in 身份验证

Download history 44/week @ 2024-08-02 281/week @ 2024-08-09

每月325次下载

MIT 许可证

56KB
966

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

senhasegura-rs

一个用于与 senhasegura API 交互的Rust库。
探索文档

目录
  1. 关于项目
  2. 入门
  3. 使用
  4. 构建
  5. 路线图
  6. 贡献
  7. 许可证
  8. 联系信息
  9. 致谢

关于项目

一个用于与 senhasegura API 交互的Rust库。

此项目的目标是实现与senhasegura API在多种语言/运行时中的交互,同时保持单个核心代码库(即 senhasegura-rs)和与之相关的其他几个库。

(返回顶部)

使用技术

  • Rust

(返回顶部)

入门

先决条件

交叉编译

为了交叉编译到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 为多种语言生成绑定,例如 PythonC#GoC++

UniFFI支持直接生成Python绑定,无需其他操作。然而,C#、Go和C++绑定需要安装第三方 bindgen 工具。

安装

Python、C#、Go和C++的安装说明待定...

Rust

[dependencies]
senhasegura-rs = "0.3"

Node.js

请参阅 senhasegura-js/README.md

(返回顶部)

使用

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

请参阅 senhasegura-js/README.md

有关更多示例,请参阅文档

(返回顶部)

构建

NAPI-RS

库的JS绑定构建过程由napi的CLI自动化

cd senhasegura-js
yarn build

生成的绑定和二进制文件(即*.node文件)保存在senhasegura-js文件夹的根目录下,但Git会忽略它们。

UniFFI

这些说明将在未来自动化,在此期间将在此处记录。

  1. 生成调试版本的senhasegura-rs,同时启用uniffi功能

    这是为了确保UniFFI元数据存在于二进制文件本身中。

    cargo build -p senhasegura-rs --features uniffi
    
  2. 生成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
    
  3. 生成C#绑定

    uniffi-bindgen-cs --library target/debug/libsenhasegura_rs.so --out-dir bindings
    
  4. 生成Go绑定

    uniffi-bindgen-go --library target/debug/libsenhasegura_rs.so --out-dir bindings
    
  5. 生成C++绑定

    uniffi-bindgen-cpp --library target/debug/libsenhasegura_rs.so --out-dir bindings
    
  6. 生成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

语言

有关建议功能(和已知问题)的完整列表,请参阅开放问题

(返回顶部)

贡献

贡献使开源社区成为一个学习、灵感和创作的绝佳地方。您做出的任何贡献都将受到高度赞赏。

如果您有任何改进建议,请分叉仓库并创建一个拉取请求。您也可以简单地创建一个带有“增强”标签的问题。别忘了为项目加星!再次感谢!

  1. 分叉项目
  2. 创建您的功能分支(git checkout -b feature/AmazingFeature
  3. 提交您的更改(git commit -m '添加一些惊人的功能'
  4. 推送到分支(git push origin feature/AmazingFeature
  5. 打开拉取请求

(返回顶部)

许可证

在MIT许可证下分发。有关更多信息,请参阅LICENSE

(返回顶部)

联系信息

Gabriel Kim - gabrielkim13 - [email protected]

项目链接: https://github.com/gabrielkim13/senhasegura-rs

(返回顶部)

致谢

(返回顶部)

依赖项

~8–23MB
~377K SLoC