日志

2022.7.4

解决了一系列由于空值引发的问题,其中:

一个比较奇怪的问题

方法返回值并没有什么问题,但data['data']可能原本就是null导致的报错,通常发生在获取不到课表数据的情况下。

同样可能出现这种情况:

原因是 arr可能为null

除此之外解决了几个使用null调用isEmpty或者length()造成的NoSuchMethodError

2022.7.7

解决对于20级以后的一些必修课不计入绩点的问题。

根据绩点的计算策略,我们只需要更改课程属性即可。

api.dart中添加获取用户年级的方法,直接从键值对存储hive中获取登录时存储的学号值,取学号的前四位就是用户的年级。

获取成绩时直接在原有的遍历中加一个方法处理一下即可。

处理的方法如下,不同年级按不同规定进行处理

本学期成绩的获取也是从全部成绩中获取到的,所以只需要改完上面的代码即可。

2022.7.10

IDE的一个bug:修改代码后重新build不会将修改的代码进行应用。热重载后会应用部分修改的代码但再次热重载后又会变回原样。

flutter3.0.4版本,flutter clean之后在Edit Configurations中修改 flavorprod解决。

注意该参数只能填写为alphabeta或者prod

但是prod还会存在热重载无效的情况。热重启也是。但是重新build没问题。

后来改成了beta,一切正常。

可能是因为引入flavor进行区分开发版和测试版导致的。

另,完成对获取当前学期成绩的api的修正。

2022.7.17

添加了查询宿舍电量功能,微调了更多功能中图标排布间隔以适应一些机型。

注意的一个问题是虽然是POST请求,但参数是放在参数表里。同时注意请求参数中房间号的形式即可。