队列先进先出,下面这些代码所在的类可以调用_link变量,其他类可以调用addRedEnvelopeMini这些方法
Queue<RedEnvModel> _link = ListQueue<RedEnvModel>();
RedEnvelopeMini? currentOpen;
///添加小红包到队列中
addRedEnvelopeMini(List<RedEnvModel> datas) {
datas.map((e) {
///对红包队列进行重复过滤
if (!_link.contains(e)) {
_link.add(e);
}
}).toList();
updateDot(_link.length);
//如果队列有数据,显示小红包
if (_link.isNotEmpty) {
EventBusUtil.fire(IsShowRedEnvEvent(false));
}
}
///从队列中移除红包
removeRedEnvelope() {
_link.removeFirst();
updateDot(getNum - 1);
//如果队列没有数据,不显示小红包
if (_link.length <= 0) {
EventBusUtil.fire(IsShowRedEnvEvent(true));
}
}
clearEnvelope() {
_link.clear();
}