1 个稳定版本

1.0.0 2024年7月27日

1284解析器实现

Download history 64/week @ 2024-07-21 80/week @ 2024-07-28 2/week @ 2024-08-04

每月下载量 146

MIT 许可证

170KB
3.5K SLoC

Nsg

Nsg 是一个用于与Portal交互的库。它提供基本搜索、查看请求、工作计划和简要请求的只读方法

用法

use nsg::Nsg;
use chrono::Utc;

#[tokio::main]
async fn main() {
    let nsg = Nsg::from_creds(
        "login".to_string(),
        "password_hash".to_string(),
        "https://net-stroy.itnet.lviv.ua".to_string(),
        "client".to_string(),
        "x.y".to_string(),
    ).await.unwrap();

    println!("Work schedule (orders) for today: {:#?}", nsg.work_schedule(Utc::now().date_naive()).await);
    println!("Brief request of 950974: {:#?}", nsg.brief_request(950974).await);
    println!("Full information about 950974: {:#?}", nsg.view_request(950974).await);
    println!("Search for 95097%: {:#?}", nsg.basic_search("95097%").await);
}

安装

要使用 nsg 库,请通过 cargo 安装它

cargo add nsg

lib.rs:

Nsg 是一个用于与Portal交互的库。它提供基本搜索、查看请求、工作计划和简要请求的只读方法

注意:此库仅适用于具有“Монтажник (все)”角色的用户。它可能无法与其他角色正确工作

use chrono::Utc;
use nsg::Nsg;

let nsg = Nsg::from_creds(
    "login".to_string(),
    "password_hash".to_string(),
    "https://net-stroy.itnet.lviv.ua".to_string(),
    "client".to_string(),
    "x.y".to_string(),
)
.await?;

// Fetch orders from Work Schedule for today
let work_schedule = nsg.work_schedule(Utc::now().date_naive()).await;
println!("{:?}", work_schedule.0);

术语

  • 内部订单ID:Kyivstar为其订单分配唯一的标识符。当订单通过Portal处理时,它在数据库中创建自己的订单记录,从而为请求创建内部标识符
  • 数据支柱:Portal的端点或从Portal访问数据的方式。有4个数据支柱: BasicSearchBriefRequestViewRequestWorkSchedule
  • Portal:指“Нет-Строй”的“IC Портал-К”
  • Kyivstar版本:Kyivstar的数据并不总是100%正确。在客户的完整姓名中尤为明显

依赖项

~11–24MB
~357K SLoC