代码拉取完成,页面将自动刷新
实现了易班的部分接口,包括登陆过程
在Cargo.toml
中导入
[dependencies]
ybat = { git = "https://gitee.com/ye-qiuming/ybat", branch = "v1.2" }
tokio = { version = "1.7.10", features = ["full"] }
tokio-stream = "0.1.8"
// 处理错误
anyhow = "1.0.56"
接下来
use ybat::Client;
use ybat::module::task::{TaskForm, Content, FormExtend, json};
use tokio_stream::StreamExt;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let client = Client::login("***", "***").await?;
let tasks = client.query_uncompleted_tasks().await?.data;
println!("共有{}个任务", tasks.len());
let mut stream = tokio_stream::iter(tasks);
while let Some(task) = stream.next().await {
if task.title.contains("健康") {
let detail = client.get_task_detail(&task.task_id).await?.data;
let process_detail = client.get_process_detail(&detail.wfid)
.await?.data;
let extend = FormExtend {
task_id: &task.task_id,
title: "任务信息",
content: vec![
Content {
label: "任务名称",
value: &task.title,
},
Content {
label: "发布机构",
value: "学生工作处",
},
],
};
let form = TaskForm::default(&detail.wfid,
&process_detail.list[0].id, json!({
"a069e4b52079413679cc71a8f70c7edf": "正常在校",
"98205659930dc79306b3c41ede65f239": {
"name": "北苑99栋学生公寓",
"location": "**,**",
"address": "火星"
},
"303558fbc358e7fccdb9a1e258606ffc": [
"体温正常,身体健康(37.3°以下)"
],
"664d3c096eefcdc6f80e35b1c701a227": "36.6°-36.9°(正常体温)",
"7bdcea686bff26915e91ce77034de2b3": "体温正常,身体健康(37.3°以下)"
}), extend);
println!("要提交的表单:{:#?}", form);
let response = client.submit_task(form).await?;
println!("返回结果是:{:#?}", response);
}
};
Ok(())
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。