


Développement de compte public WeChat pour implémenter une fonction de compte à rebours (code pur)
Ce qui suit est un code que j'ai écrit moi-même. La fonction est d'implémenter le compte à rebours pendant le processus de développement du compte officiel WeChat. L'effet est le suivant, la commande a été soumise, veuillez effectuer le paiement dans les 2 minutes et 57 secondes. Analyse de code pur.
L'idée initiale ne prenait pas en compte la situation de la page s'exécutant en arrière-plan et verrouillant l'écran. Le code est le suivant :
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 = () =>{
let {backGroundTime} = this.state; let start, end; let self = this; document.addEventListener("visibilitychange", function() { if(document.visibilityState == 'hidden'){ start = new Date().getTime(); }else if(document.visibilityState == 'visible'){ end = new Date().getTime(); backGroundTime = Math.floor((end - start)/1000); self.setState({backGroundTime}); console.log('时间差:', backGroundTime); } console.log( document.visibilityState ); });
}
改造之后发先问题依然存在。原因是: You cannot continue to run javascript while the iPhone is sleeping using setTimeout(), however.When the phone is put to sleep, Safari will kill any running javascript processes using setTimeout(). Check out this answer here for some reasons why this is done. **解决方案:** 订单生成的时候我们记录下这个时间为A, 时间间隔为B(3分钟内需要付款,B为3*60*1000),C为现在的时间。我们使用setInterval 每个1秒读取一下时间。那么倒计时时间 == A+B-C,代码如下 let interval = setInterval(()=>{ let {orderTime, staticTime} = this.state; let nowTime = Date.now(); let sub = Math.floor((orderTime + staticTime - nowTime)/1000); console.log('sub',sub); if(sub<=0){ clearInterval(interval); this.setState({ tip:'支付超时', isFalse:true }); return; } let minutes = parseInt(sub/60); let Seconds = sub%60; let tip = '订单已提交,请在'+minutes+'分'+Seconds+'秒内完成支付'; console.log(tip); this.setState({ tip:tip, isFalse:false }); },1000);
apache php mysql
Articles connexes :
Paramètres d'autorisation du compte public WeChat, autorisation publique WeChat
Vidéos associées :
Tutoriels vidéo de développement de plateforme publique Chuanzhi et Dark Horse WeChat
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Le Redmi Note 14 Pro Plus est désormais officiel en tant que successeur direct du Redmi Note 13 Pro Plus de l'année dernière (375 $ sur Amazon). Comme prévu, le Redmi Note 14 Pro Plus est en tête de la série Redmi Note 14 aux côtés du Redmi Note 14 et du Redmi Note 14 Pro. Li

Historiquement, Oppo a actualisé sa série phare « Find X » à la fin de l'hiver ou au début du printemps, à l'exception du Find X original annoncé en juin 2018. À cette fin, les Find X7 et Find X7 Ultra ont à peine plus de six mois. à ce point. H

Cet article détaille les étapes pour enregistrer et télécharger la dernière application sur le site officiel de Gate.io. Premièrement, le processus d'enregistrement est introduit, notamment le remplissage des informations d'enregistrement, la vérification du numéro de messagerie électronique / téléphone portable et la réalisation de l'enregistrement. Deuxièmement, il explique comment télécharger l'application gate.io sur les appareils iOS et les appareils Android. Enfin, les conseils de sécurité sont soulignés, tels que la vérification de l'authenticité du site officiel, l'activation de la vérification en deux étapes et l'alerte aux risques de phishing pour assurer la sécurité des comptes et des actifs d'utilisateurs.

Les étapes d'installation officielles de l'application Binance: Android doit visiter le site officiel pour trouver le lien de téléchargement, choisissez la version Android pour télécharger et installer; iOS recherche "Binance" sur l'App Store. Tous devraient prêter attention à l'accord par le biais des canaux officiels.

Description du problème Lors de l'appel d'Alipay Easysdk en utilisant PHP, après avoir rempli les paramètres en fonction du code officiel, un message d'erreur a été signalé pendant l'opération: "UNDEFINED ...

Le Z9 Turbo+ est maintenant disponible sur la boutique en ligne chinoise de Vivo à 2 199 yuans (~ 313 $) pour un modèle de base de 12 Go de RAM/256 Go de stockage interne, tandis que le RedmiK70 Extreme Edition a commencé à 2 599 yuans (~ 370 $) avec la même configuration : en fait, son nouveauiQ

Lenovo se prépare à lancer le Legion Y700 2024 le 29 septembre en Chine. Cette nouvelle tablette de jeu Android affrontera la RedMagic Nova, et la société a déjà confirmé presque toutes les spécifications de l'appareil. Maintenant, quelques heures avant le plein

OUYI est un échange de crypto-monnaie de pointe avec son application iOS officielle qui offre aux utilisateurs une expérience de gestion des actifs numériques pratique et sécurisée. Les utilisateurs peuvent télécharger gratuitement le package d'installation de la version ouyi iOS via le lien de téléchargement fourni dans cet article, et profiter des principales fonctions suivantes: plateforme de trading pratique: les utilisateurs peuvent facilement acheter et vendre des centaines de crypto-monnaies sur l'application OUYI iOS, y compris Bitcoin et Ethereum . Stockage sûr et fiable: OUYI adopte une technologie de sécurité avancée pour fournir aux utilisateurs un stockage d'actifs numériques sûrs et fiables. 2FA, l'authentification biométrique et d'autres mesures de sécurité garantissent que les actifs des utilisateurs ne sont pas violés. Données de marché en temps réel: l'application OUYI iOS fournit des données et des graphiques de marché en temps réel, permettant aux utilisateurs de saisir le cryptage à tout moment
