进行了一些重构，优化了底层数据通信

之前的任务信息都是以?:?这样的符号连接的qstring传递的，代码中要频繁的split与拼接字符串，冗余代码非常多，而且在一些状态信息的判断比如dl_downing，xware，这样的都是以string来比较，很容易因为拼写错误或者大小写出错，我构建了一个保存任务信息的类TaskInfo来完成这些任务。

之后的代码中任务信息的传递只用这个对象就可以了，可以增强结构性。

由于改动的地方非常多，可能还有很多地方有没发现的问题，希望能多测试。而且我对qml不太熟悉，所以在数据传向qml时依旧拼接成了?:?这样的字串