In diesem Artikel finden Sie den spezifischen Code für das WeChat-Applet zum Senden eines Countdowns für den SMS-Bestätigungscode. Der spezifische Inhalt ist wie folgt Rendern WXML-Datei <Klasse anzeigen="Container"> <Klasse anzeigen="Benutzerinfo"> <image class="userinfo-avatar" src="../../images/timg.jpg" mode="cover"></image> <text class="userinfo-nickname">Was</text> </Ansicht> <Klasse anzeigen="wrap"> <view class="tel"> <Eingabetyp="Nummer" bindinput="bindTelInput" maxlength="11" Platzhalter="Bitte geben Sie Ihre Telefonnummer ein" Platzhalter-Stil="Farbe:#C3C6C4;"/> </Ansicht> <Ansichtsklasse="ver-code"> <Klasse anzeigen="Code"> <Eingabetyp="Nummer" bindinput="BindCodeInput" maxlength="6" Platzhalter="Bitte geben Sie den Bestätigungscode ein" Platzhalter-Stil="Farbe:#C3C6C4;"/> </Ansicht> <view class="getCode" bindtap="getCode" wx:if="{{countDownNum == 60 || countDownNum == -1}}"> <button type="primary" plain="true">Bestätigungscode abrufen</button> </Ansicht> <Ansichtsklasse="getCode" wx:else> <button type="primary" plain="true">Nach {{countDownNum}}s erneut abrufen</button> </Ansicht> </Ansicht> </Ansicht> <view class="btn-login" bindtap="login">Anmelden</view> </Ansicht> JS-Datei //Anwendungsinstanz abrufen const app = getApp() Seite({ /** * Ausgangsdaten der Seite */ Daten: { phone: null, // Telefonnummer code: null, // Telefonverifizierungscode countDownNum: 60, // Countdown-Anfangswert }, /** * Lebenszyklusfunktion - auf Seitenladen warten*/ onLoad: Funktion (Optionen) { }, /** * Lebenszyklusfunktion - Seitenanzeige überwachen*/ onShow: Funktion () { }, /** * Lebenszyklusfunktion - wartet auf den Abschluss der ersten Darstellung der Seite*/ onReady: Funktion () { }, /** * Der Benutzer klickt auf die obere rechte Ecke, um zu teilen*/ beiShareAppMessage: Funktion () { }, // Telefonnummer eingeben bindTelInput: function (e) { dies.setData({ Telefon: e.detail.value }) }, // Bestätigungscode eingeben bindCodeInput: function (e) { dies.setData({ Code: e.detail.Wert }) }, // Mobilen Bestätigungscode sendengetCode: function () { if (!!dieses.Datentelefon) { wenn (!!(/^1[34578]\d{9}$/.test(dieses.Datentelefon))) { wx.showToast({ Titel: „Erfolgreich gesendet“, Symbol: "keine", Dauer: 1500 }) dies.countDown() } anders { wx.showToast({ Titel: „Bitte geben Sie eine gültige Handynummer ein“, Symbol: "keine", Dauer: 1500 }) } } anders { wx.showToast({ Titel: "Bitte geben Sie Ihre Handynummer ein", Symbol: "keine", Dauer: 1500 }) } }, /** * Countdown für Bestätigungscode*/ countDown: Funktion () { var _this = dies var countDownNum = _this.data.countDownNum // Den Anfangswert des Countdowns abrufen var timer = setInterval(function () { countDownNum -= 1 _this.setData({ Anzahl der Downs: Anzahl der Downs }) wenn (countDownNum <= -1) { Intervall löschen(Timer) // Den Code lösen, den die Funktion setInterval ausführen wird_this.setData({ countDownNum: 60 }) } }, 1000) }, // Anmeldung per Handy-Bestätigungscode: function () { wenn (dieses.Daten.Telefon) { wenn (!!(/^1[34578]\d{9}$/.test(dieses.Datentelefon))) { wenn (dieser.Daten.Code) { wx.showToast({ Titel: „Anmeldung erfolgreich“, Symbol: "keine", Dauer: 1500 }) } anders { wx.showToast({ Titel: „Bitte geben Sie den Bestätigungscode ein“, Symbol: "keine", Dauer: 1500 }) } } anders { wx.showToast({ Titel: „Bitte geben Sie eine gültige Handynummer ein“, Symbol: "keine", Dauer: 1500 }) } } anders { wx.showToast({ Titel: "Bitte geben Sie Ihre Handynummer ein", Symbol: "keine", Dauer: 1500 }) } } }) WXSS-Datei .Benutzerinfo { Höhe: 240rpx; Rand: 40rpx auto 0; Anzeige: Flex; Flex-Richtung: Spalte; Elemente ausrichten: zentrieren; } .Benutzerinfo .Benutzerinfo-Avatar { Breite: 140rpx; Höhe: 140rpx; Rand: 20 Rpx; Randradius: 50 %; Rand: 1rpx durchgezogen #dad5d5; } .Benutzerinfo .Benutzerinfo-Spitzname { Farbe: #aaa; } .wickeln { Breite: 630rpx; Schriftgröße: 32rpx; Rand: 80 Rpx, automatisch 120 Rpx; } .wrap .tel { Breite: 100 %; Höhe: 68rpx; Rahmen unten: 1rpx durchgezogen #DDE3EC; Rand unten: 60rpx; Anzeige: Flex; Flex-Richtung: Spalte; Inhalt ausrichten: Flex-Start; } .wrap .ver-code { Breite: 100 %; Höhe: 68rpx; Rahmen unten: 1rpx durchgezogen #DDE3EC; Anzeige: Flex; Inhalt ausrichten: Abstand dazwischen; } .wrap .ver-code .code { } .wrap .ver-code .getCode { Mindestbreite: 190rpx; Höhe: 40rpx; } .wrap .ver-code .getCode Schaltfläche { Breite: 100 %; Höhe: 100%; Schriftgröße: 28rpx; Schriftstärke: normal; Zeilenhöhe: 40rpx; Hintergrund: #fff; Farbe: #ffaa7f; Rand: keiner; Polsterung: 0; Rand: 0; } .btn-login { Breite: 588rpx; Höhe: 88rpx; Hintergrund: #ffaa7f; Rahmenradius: 10rpx; Textausrichtung: zentriert; Zeilenhöhe: 88rpx; Schriftgröße: 36rpx; Schriftstärke: 500; Farbe: #fff; Rand: 0 automatisch; } .klickKlasse { Hintergrund: #ea986c; } Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Der Unterschied und die Verwendung von Datum/Uhrzeit und Zeitstempel in MySQL
>>: Lösung für das Problem, dass der Docker-Container nicht gestoppt werden kann
Installieren Sie Jenkins über Yum 1. Installation...
Inhaltsverzeichnis 1. Zeichne einen Kreis 2. Krei...
Vorwort Da ich während des Lernprozesses Zookeepe...
Schauen wir uns zunächst ein Beispiel an Code kopi...
Inhaltsverzeichnis Konzept-Einführung Logische Re...
Ich möchte kürzlich einen Docker für Cron-geplant...
In Projekten kommt es häufig vor, dass eine Liste...
1. Voraussetzungen Wir verwenden zum Importieren ...
Entsprechend den wichtigsten Websites und persönl...
Aus SEO- und Sicherheitsgründen ist eine 301-Weit...
Inhaltsverzeichnis 1. Einführung in Typescript 2....
Erster Blick auf die Wirkung: html <a href=&qu...
Inhaltsverzeichnis Vorwort Kern - CancelToken Pra...
Manchmal ist das Herunterladen großer Netzwerkdat...
* Adresse - Adresse * Blockzitat - Blockzitat * Mi...