この記事は主にWeChatアプレットの入力入力と動的設定ボタンの実装に関する関連情報を紹介します。この記事が必要な友人の参考になれば幸いです
WeChatの入力入力と動的設定ボタンの実装。アプレット
【要件】携帯電話番号を入力し、同意事項を確認すると、「今すぐログイン」ボタンが点灯し、いずれかが満たされていない場合はボタンをクリックできます。灰色で表示され、クリックできません。SMS 認証コードの取得、要件を満たしていないコンテンツのカウントダウン ポップアップ メッセージが表示されます。
<view class="container"> <!--手机号--> <view class="section"> <text class="txt">手机号</text> <input value="{{mobile}}" placeholder-class="placeholder" placeholder="11位手机号码" type="number" maxlength="11" bindinput="mobileInput"/> </view> <!--图片验证码--> <view class="section"> <view> <text class="txt">图形验证码</text> <input placeholder-class="placeholder" placeholder="输入图形验证码" type="text" maxlength="4" bindinput="imgCaptchaInput"/> </view> <image class="imgBtn" src="{{imgCodeSrc}}" bindtap="getImgCode"></image> </view> <!--短信验证码--> <view class="section"> <view> <text class="txt">验证码</text> <input placeholder-class="placeholder" placeholder="输入验证码" type="number" maxlength="6" bindinput="smsCaptchaInput"/> </view> <view class="smsBtn" bindtap="getSMS">{{captchaText}}</view> </view> <view class="agree" style="margin-top:40rpx"> <checkbox-group bindchange="checkboxChange"> <checkbox class="check" value="1" checked="true" bindchange="checkboxChange"></checkbox> </checkbox-group> <span>已阅读并同意</span> <text style="color:#98c7ff" bindtap="xieyi">《用户使用协议》</text> </view> <view class="regist {{phoneAll&&checkAgree?'active':''}}" bindtap="regist">立即登录</view> </view> <!--mask--> <view class="toast_mask" wx:if="{{isShowToast}}"></view> <!--以下为toast显示的内容--> <view class="toast_content_box" wx:if="{{isShowToast}}"> <view class="toast_content"> <view class="toast_content_text"> {{toastText}} </view> </view> </view>
js
// 获取全局应用程序实例对象 const app = getApp() Page({ data: { //toast默认不显示 isShowToast: false, mobile: '', imgCode: '', code: '', // inviteCode: '', errorContent: '请输入手机号', timer: 60, captchaText: '获取验证码', captchaSended: false, isReadOnly: false, capKey: '', sendRegist: false, imgCodeSrc: '', phoneAll: false, checkAgree:true, checkboxValue:[1], }, // 显示弹窗 showToast(txt, duration = 1500) { //设置toast时间,toast内容 this.setData({ count: duration, toastText: txt }); var _this = this; // toast时间 _this.data.count = parseInt(_this.data.count) ? parseInt(_this.data.count) : 3000; // 显示toast _this.setData({ isShowToast: true, }); // 定时器关闭 setTimeout(function () { _this.setData({ isShowToast: false }); }, _this.data.count); }, // 双向绑定mobile mobileInput(e) { this.setData({ mobile: e.detail.value }); if(this.data.mobile.length===11){ this.setData({ phoneAll: true }); }else if(this.data.mobile.length<11){ this.setData({ phoneAll: false }); } }, // 双向绑定img验证码 imgCaptchaInput(e) { this.setData({ imgCode: e.detail.value }); }, // 双向绑定sms验证码 smsCaptchaInput(e) { this.setData({ code: e.detail.value }); }, // 同意协议 checkboxChange(e) { this.data.checkboxValue = e.detail.value; if(this.data.checkboxValue[0]==1){ this.setData({ checkAgree: true }); }else { this.setData({ checkAgree: false }); } }, // 获取短信验证码 getSMS() { var that = this.data; if (!that.mobile) { this.showToast('请输入手机号'); } else if (that.mobile.length != 11 || isNaN(that.mobile)) { this.showToast('请输入正确手机号'); } else if (that.imgCode.length != 4) { this.showToast('请输入正确图片验证码'); } else { if (that.captchaSended) return; this.setData({ captchaSended: true }) app.api.getSMSByMobileAndCaptcha({ mobile: that.mobile, capKey: that.capKey, code: that.imgCode, type:1 }).then((result) => { this.showToast(result.message); if (result.code != 1) { this.getImgCode(); this.setData({ captchaSended: false, }); } else { var counter = setInterval(() => { that.timer--; this.setData({ timer: that.timer, captchaText: `${that.timer}秒`, isReadOnly: true }); if (that.timer === 0) { clearInterval(counter); that.captchaSended = false; that.captchaText = '获取验证码'; this.setData({ timer: 60, captchaText: '获取验证码', captchaSended: false }) } }, 1000); } }); } }, // 获取图形码 getImgCode() { var capKey = "zdx-weixin" + Math.random(); this.setData({ imgCodeSrc: "http://prezdx.geinihua.com/invite/WeChat/verify?capKey=" + capKey, capKey: capKey }); }, //用户使用协议 xieyi() { wx.navigateTo({ url: '../userXieyi/userXieyi' }) }, // 注册 regist() { var that = this.data; if(!that.checkAgree||!that.phoneAll){ return } // sessionCheck为1,目的是防止微信code码先于session过期 var code = wx.getStorageSync('wxCode'); var sessionCheck = wx.getStorageSync('sessionCheck'); wx.setStorageSync('mobile',that.mobile); if (!that.mobile) { this.showToast('请输入手机号'); } else if (that.mobile.length != 11 || isNaN(that.mobile)) { this.showToast('请输入正确手机号'); } else if (that.code.length != 6) { this.showToast('请输入正确验证码'); } else { wx.showLoading({ title: '加载中...', }); app.api.loginByCaptcha({ mobile: that.mobile, smsCode: that.code, code: code, sessionCheck:sessionCheck, }).then((res) => { wx.hideLoading(); if (res.code == 2||res.code==1) { //注册成功 wx.setStorageSync('token', res.businessObj.token); wx.setStorageSync('userId',res.businessObj.userId); this.sucessCb(res); app.globalData.isLogin = true; //设置为登录成功 } else { this.showToast(res.message); } }); } }, // 成功回调 sucessCb(res) { wx.redirectTo({ url: '/pages/index/index' }) }, onLoad: function () { this.getImgCode(); var that=this; if(wx.getStorageSync('mobile')){ that.setData({ mobile: wx.getStorageSync('mobile'), }) } if(this.data.mobile.length===11){ this.setData({ phoneAll: true }); } }, })
その他の関連コンテンツについては、PHP 中国語 Web サイトに注目してください。
関連する推奨事項:
プルアップ読み込みとプルダウン更新を実装する WeChat アプレットのスクロールビューの例
プレースホルダー プロンプト テキストとボタンの選択/キャンセル状態の動的設定を実装する WeChat アプレットの例
WeChat アプレットは、ボタンをクリックしてビューラベルを移動する位置機能を実現します
以上がWeChatアプレットに入力入力と動的設定ボタンを実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

WebStorm Mac版
便利なJavaScript開発ツール
