评论

基于考研题库小程序V2.0实现倒计时功能板块和超时判错功能

基于考研题库小程序V2.0实现倒计时功能板块和超时判错功能

V2.0

需求沟通

需求分析

计时模块

3.1.1、功能描述←计时模块用于做题过程中对每一题的作答进行30秒倒计时,超时直接判错,同时将总用时显示在界面上;记录每次做题的总用时。

3.1.2、接口描述←与判定模块的接口为超时判定,若单题用时超过 30秒则算作错误,需要将信号给到判定模块:当用户开始做答或点击确认时接收信号,开始或是结束计时:与与本地数据库的接口为储存,需要保存单次(15题)的总用时信息用于历史记录查看。

3.1.3、数据结构描述计时的秒数为 int 整型,需要有计时结束时触发的回调函数,用于通知外部模块。对于本地缓存,可使用wx.setStorageSync来进行存储。

3.1.4、实现思路

此模块逻辑较简单清晰,可在is文件中直接编写函数,注意设置对外接口。


实现过程

计时模块用于做题过程中对每一题的作答进行30秒倒计时,超时直接判错。

技术点:倒计时+判错。

计时模块用于做题过程中对每一题的作答进行30秒倒计时,超时直接判错。使用selfInterval实现倒计时功能,每隔一秒执行一次,超时直接判错逻辑函数。


// 计时模块用于做题过程中对每一题的作答进行30秒倒计时,超时直接判错
const totalSeconds = 30;

// 使用selfInterval实现倒计时功能
countDownStart() {
    this.setData({
      seconds: totalSeconds
    });
    selfInterval = setInterval(()=>{
      this.data.seconds--
      this.setData({
        seconds: this.data.seconds
      });
      if(this.data.seconds == 0){
        clearInterval(selfInterval);
        selfInterval = null;
        // 超时直接判错逻辑函数
        this.onCountDownfinished();
      }
    }, 1000);
  },

实现效果


最后一次编辑于  07-09  
点赞 0
收藏
评论
登录 后发表内容