为什么会显示任务完成度是83%呢?
因为任务进度有算之前到现在的进度
周期任务的进度每个周期是往下加的 没有归零哦
所以除完的结果并不是从0%开始的
任务进度 = 当前进度 / 目标进度
每次追加任务进度,当前进度会加1
每次申请任务,目标进度会加到当前进度和设定的值的和
范例
第一周期
【状态】任务未申请:没有进度
【动作】用户申请任务
当前进度 0
目标进度:设定值,比如签到是1
【状态】任务已申请未完成:当前进度 < 目标进度
【动作】用户进行任务,当前进度 +1
【状态】任务已完成未提交:当前进度 = 任务进度
【动作】用户提交任务:当前进度设定为目标进度+1
【状态】任务已完成且已提交:当前进度 > 目标进度
第二周期
【状态】任务未申请:当前进度 > 目标进度
【动作】用户申请任务 目标进度赋值为当前进度和设定值的和
此时
【状态】任务已申请未完成:当前进度<目标进度
此时状态和上一周期开头一致,循环上一周期的过程
这样的好处是可以不用专门开一个字段来统计连续签到次数啦