유 니 앱 인증 코드 카운트다운 기능 구현

본 논문 의 사례 는 유 니 앱 이 인증 코드 카운트다운 을 실현 하 는 구체 적 인 코드 를 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
실현 적 효과



페이지 부분 은 세 개의 연산 이 고 codeTime 은 카운트다운 시간 입 니 다.

<template>
 <view>
 <view class="three">
 <view class="get" @tap="getCheckNum()">
 <text>{{!codeTime?'     ':codeTime+'s'}}</text>
 </view>
 <view class="all">
 <view class="left">   </view>
 <input v-model="mydata.checkNum" placeholder="      "/>
 </view>
 <button class="btn" @tap='sure'>  </button>
 </view>
 </view>
</template>
구체 적 인 사고:
세 가지 연산 은 codeTime 의 값 을 판단 하고 0 일 때 문자'인증 코드 가 져 오기'를 표시 하 며 0 이상 일 때 인증 코드 의 카운트다운 을 표시 합 니 다.codeTime 은 기본적으로 0 입 니 다.
여기 서 문 제 는 사용자 가 카운트다운 이 끝나 지 않 았 을 때 계속 클릭 하 는 것 을 어떻게 막 느 냐 하 는 것 이다.
해결 방법 은 codeTime 이 60 이상 일 때 팝 업 창 은 사용자 에 게 인증 코드 를 중복 으로 가 져 올 수 없다 는 판단 을 쓰 는 것 입 니 다.카운트다운 이 끝 난 후에 카운트다운 을 지 워 야 합 니 다.
코드:

<script>
 export default {
 data() {
 return {
  codeTime:0,
 }
 },
  methods: {
   getCheckNum(){
 if(this.codeTime>0){
  uni.showToast({
  title: '      ',
  icon:"none"
  });
  return;
 }else{
  this.codeTime = 60
  let timer = setInterval(()=>{
  this.codeTime--;
  if(this.codeTime<1){
  clearInterval(timer);
  this.codeTime = 0
  }
  },1000)
    }
   }
  }
}
css 스타일:

.all{
 margin: 30rpx;
 border-bottom: 2rpx solid #EEEEEE;
 display: flex;
 flex-wrap: nowrap;
}
.left{
 margin-bottom: 30rpx;
 margin-right: 40rpx;
 width: 150rpx;
}
.three{
 background-color: white;
 width: 92%;
 border-radius: 10rpx;
 padding: 20rpx 0;
 margin: 20rpx auto;
 position: relative;
}
.btn{
 background-color: orange;
 font-size: 28rpx;
 width: 160rpx;
 height: 70rpx;
 line-height: 70rpx;
 margin-top: 40rpx;
 color: white;
 font-weight: 600;
}
.get{
 position: absolute;
 top: 40rpx;
 right: 30rpx;
 background-color: orange;
 height: 70rpx;
 line-height: 70rpx;
 color: white;
 border-radius: 10rpx;
 padding: 0 20rpx;
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기