Closed creeper12356 closed 8 months ago
感谢您的贡献,可以考虑针对这种情况处理: https://mitt.uib.no/doc/api/courses.html
增加一个 access_restricted_by_date: Option\<bool> 的字段处理这种情况
{"id":57184,"access_restricted_by_date":true}
这上面没有出现的字段可以用 #[serde(default)] 来给他默认值,同时list_items 调用之后可以把这种课程过滤掉。
serde 有很多 attributes 可以用, 可以参考:https://serde.rs/attributes.html。 修改 list_items_with_page 不是太好,会影响其他类型的解析。
如果可以的话,可以开个新的 pr,或者用 git push --force 来删除之前的提交,保证提交日志整洁;此外,为了避免 merge xxx from 这样的log,您应该使用 git pull --rebase 这样的方式来拉取远程分支。
建议给 Course 新增一个方法:pub fn is_access_restricted(&self) -> bool,然后筛选掉这种课程。
issue: 运行时报错 Json parse error: missing field uuid at line 1 column 26984,无法正常获取Canvas信息。 check: 检查发现,在请求课程信息时,服务器返回的JSON列表中,有一个课程对象没有
uuid
字段(我的Canvas是这样),这样导致
list_items_with_page
中反序列化失败,弹出以上的报错。 fix: 修改list_items_with_page,如果T为Course,反序列化自动忽略不含uuid的对象。