다음은 위챗 공개 계정 개발 과정에서 카운트다운을 구현하기 위해 제가 직접 작성한 코드입니다. 효과는 다음과 같습니다. 주문이 접수되었습니다. 2분 57초 이내에 결제를 완료해 주세요. 순수 코드 분석.
초기 아이디어에서는 페이지가 백그라운드에서 실행되고 화면이 잠기는 상황을 고려하지 않았습니다. 코드는 다음과 같습니다.
let interval = setInterval(() => { let {staticTime} = this.state; staticTime = staticTime - 1; if (staticTime <= 0) { clearInterval(interval); this.setState({ tip:'支付超时', staticTime:0 }); return; } let minutes = parseInt(staticTime/60); let Seconds = staticTime%60; let tip = '订单已提交,请在'+minutes+'分'+Seconds+'秒内完成支付'; this.setState({ tip:tip, staticTime:staticTime }); }, 1000); 后来测试发现锁屏或者把页面留在后台,计算就不对,于是把代码进行了如下改造。 let interval = setInterval(() => { let {backGroundTime, staticTime} = this.state; this.setState({ backGroundTime:0 }); staticTime = staticTime - backGroundTime - 1; if (staticTime <= 0) { clearInterval(interval); this.setState({ tip:'支付超时', staticTime:0, }); return; } let minutes = parseInt(staticTime/60); let Seconds = staticTime%60; let tip = '订单已提交,请在'+minutes+'分'+Seconds+'秒内完成支付'; this.setState({ tip:tip, staticTime:staticTime, }); }, 1000); this.listenPageShowHideHandle(); //计算页面在后台的时间
listenPageShowHideHandle = () => 마이크로 사이트 구현 방법으로 열어서 로그인할 수 있습니다
관련 영상:Chuanzhi, Heima WeChat 공개 플랫폼 개발 영상 튜토리얼
위 내용은 카운트다운 기능 구현을 위한 WeChat 공개 계정 개발(순수 코드)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!