2 个版本

0.1.1 2022年9月25日
0.1.0 2022年9月24日

#1642 in 网络编程

MIT 许可证

41KB
859

GarlandTools Rust 绑定/包装器

GarlandTools API 的非官方 Rust 包装器/绑定。

⚠️ 这是一个公共 API。
⚠️ 请不要以任何形式进行垃圾邮件或滥用。

特别感谢 GarlandTools 提供此 API 并保持其更新。

目录

安装

只需将以下内容添加到您的 [dependencies] 部分,在您的 Cargo.toml 文件中。

[dependencies]
garlandtools = "0.1.1

用法

此 API 实现了所有 GarlandTools 端点。
以下是显示所有端点和它们是否有 id 和/或 all 端点的表格。
id 端点表示存在一个唯一的标识符,可用于查询信息。通常是整数。但是,也有 Job 枚举和字符串端点。
all 端点简单地返回该端点的所有数据,以一个巨大的 JSON 文件形式,不需要 id 但需要更多过滤。

所有端点都返回 JSON,解析为 非结构化 serde_json::Value。通常是 serde_json::Value::Objectserde_json::Value::Array。这对于所有端点都是正确的,但有两个端点返回的是 二进制 PNG(地图和图标)。
以下是完整概述

端点名称 具有 id 端点 具有 'all' 端点 返回
成就 JSON (serde_json::Value::Object)
数据 JSON (serde_json::Value::Object)
终局装备 ✅ (Job) JSON (serde_json::Value::Object)
命运 JSON (serde_json::Value::Object)
钓鱼 JSON (serde_json::Value::Object)
图标 ✅ (str) 二进制 PNG
实例 JSON (serde_json::Value::Object)
物品 JSON (serde_json::Value::Object)
任务 JSON (serde_json::Value::Object)
升级装备 ✅ (Job) JSON (serde_json::Value::Object)
地图 ✅ (str) 二进制 PNG
怪物 JSON (serde_json::Value::Object)
节点 JSON (serde_json::Value::Object)
NPC JSON (serde_json::Value::Object)
任务 JSON (serde_json::Value::Object)
搜索 ✅ (str) JSON (serde_json::Value::Array)
状态 JSON (serde_json::Value::Object)

要使用 API,首先初始化 GarlandTools

use garlandtools::GarlandTools;

let garlandtools = GarlandTools::default();

可选地,您可以指定特定的语言

use garlandtools::{GarlandTools, Language};

// For English language (default):
let garlandtools = GarlandTools::new(Language::English);

// For German language:
let garlandtools = GarlandTools::new(Language::German);

// For French language:
let garlandtools = GarlandTools::new(Language::French);

// For Japanese language:
let garlandtools = GarlandTools::new(Language::Japanese);

每个端点都在 GarlandTools 类中实现了其自己的功能。
只需调用它们并供应参数(如果需要的话)。比如说,我们想查询一个特定项目,我们知道项目 ID 是 2
我们只需要做的是

// 0. Imports
use garlandtools::GarlandTools;

// 1. Initialize Wrapper/Binding
let garlandtools = GarlandTools::default();

// 2. Query item
let item_id = 2;
let item = garlandtools.item(item_id).await.unwrap();   // Unsafe! Check if the `Result` before unwrapping.

// 3. Do something with it!
println!("{:?}", item);

还有一个额外的 search 函数来提交搜索查询。 但是,请在绝对必要且不知道某个 ID 的情况下使用此端点。

致谢

我想感谢 GarlandToolsGarlandTools NodeJS 项目,没有它们,这一切都不可能实现。

版本

版本 支持 描述
v0.1.1 使用更简单,有很多改进!
v0.1.0 初始版本。工作正常,但更难操作。

依赖

~3–18MB
~218K SLoC