uView Code 验证码输入框

考虑到用户实际发送验证码的场景,可能是一个按钮,也可能是一段文字,提示语各有不同,所以本组件 不提供界面显示,只提供提示语,由用户将提示语嵌入到具体的场景

#平台差异说明

App(vue)App(nvue)H5小程序

#基本使用

通过ref获取组件对象,再执行后面的操作,见下方示例。

  1. 通过seconds设置需要倒计的秒数(默认60)
  2. 通过ref调用组件内部的start方法,开始倒计时
  3. 通过监听change事件(从开始到结束之间,每秒触发一次)获得提示的文字,可能值如"获取验证码|12秒后重新获取|重新获取",可以自定义

注意:用户可能在倒计时的过程中点击获取验证码的按钮,组件内部提供了通过ref获取的canGetCode变量,在倒计时 过程中,该值为false,如果为false应该给予提示并不要再次向后端请求验证码,如果为true,则为获取验证码 之前,或者倒计结束之后,可以再次向后端请求验证码。

以下为完整示例,见如下:

<template><view class="wrap"><u-toast ref="uToast"></u-toast><u-code :seconds="seconds" @end="end" @start="start" ref="uCode" @change="codeChange"></u-code><u-button @tap="getCode">{{tips}}</u-button></view>
</template><script>export default {data() {return {tips: '',// refCode: null,seconds: 10,}},onReady() {// 注意这里不能将一个组件赋值给data的一个变量,否则在微信小程序会// 造成循环引用而报错,如果你想这样做,请在非data中定义refCode变量// this.refCode = this.$refs.uCode;},methods: {codeChange(text) {this.tips = text;},getCode() {if(this.$refs.uCode.canGetCode) {// 模拟向后端请求验证码uni.showLoading({title: '正在获取验证码'})setTimeout(() => {uni.hideLoading();// 这里此提示会被this.start()方法中的提示覆盖uni.$u.toast('验证码已发送');// 通知验证码组件内部开始倒计时this.$refs.uCode.start();}, 2000);} else {uni.$u.toast('倒计时结束后再发送');}},end() {uni.$u.toast('倒计时结束');},start() {uni.$u.toast('倒计时开始');}}}
</script><style lang="scss">.wrap {padding: 24rpx;}
</style>

copy

#自定义提示语

组件内部有内置的提示语,如获取验证码前的提示语为"获取验证码",用户可以通过参数配置自定义的提示:

  • 获取前,参数为start-text,默认值为"获取验证码"
  • 倒计时期间,参数为change-text,默认为"X秒重新获取",这里的"x"(大小写均可),将会被倒计的秒数替代
  • 倒计时结束,参数为end-text,默认值为"重新获取"

#保持倒计时

一般情况下,在H5刷新浏览器,或者各端返回再进入时,倒计时会消失,导致用户可以再次尝试获取验证码,虽然后端还会对此进行进一步的判断。
对于这种情况,uView给出了一个keep-running参数(默认为false),为true的时候,即使刷新浏览器,或者返回上一个页面, 倒计时依然会继续(如果还在倒计时间内的话)。

注意: 如果您的一个页面或者多个页面同时使用了多个此组件,为了防止多个组件之间,保存在本地的多个继续倒计时的变量之间互相干扰,可以配置 各个组件的unique-key为一个不重复的字符串,以作区分:

/* A.vue */
<u-verification-code unique-key="page-a"></u-verification-code>/* B.vue */
<u-verification-code unique-key="page-b"></u-verification-code>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/751415.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

lqb省赛日志[11/37] -[dfs]

一只小蒟蒻备考蓝桥杯的日志 文章目录 笔记刷题心得小结 笔记 最近对二维数组[][]&#xff0c;xy的区分好混乱啊。。。 刷题 P1101 单词方阵P2404 自然数的拆分问题P1596 [USACO10OCT] Lake Counting SP1162 填涂颜色 心得 莫名其妙就爆0了&#xff0c;但是样例对&#x…

【递归搜索回溯专栏】专题二:二叉树中的深搜----二叉树剪枝

本专栏内容为&#xff1a;递归&#xff0c;搜索与回溯算法专栏。 通过本专栏的深入学习&#xff0c;你可以了解并掌握算法。 &#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;递归搜索回溯专栏 &#x1f69a;代码仓库&#xff1a;小小unicorn的代…

git |常用命令

git 命令 非常常用 主流的仓库管理服务器&#xff0c;svn 和git 接下来&#xff0c;介绍git 操作&#xff08;自用 先讲一个简单的demo 流程 环境&#xff1a;centos、git #先创建一个本地 git 文件夹 mkdir test && cd ./test #写一个README.md #echo “# 张不大 的de…

MySQL调优:explain详解

MySQL的EXPLAIN命令用于获取SQL查询的执行计划&#xff08;Execution Plan&#xff09;&#xff0c;它揭示了MySQL服务器如何执行给定的SELECT语句&#xff0c;包括如何连接表、使用索引以及MySQL优化器选择的查询路径等重要信息。这对于分析查询性能、找出潜在的瓶颈并优化SQL…

redis发布订阅与stream类型

发布订阅 redis发布订阅(pub/sub)是一种消息通信模式&#xff1b;发送者(pub)发送消息&#xff0c;订阅者(sub)接收消息。redis客户端可以订阅任意数量的频道。 基础命令&#xff1a; 语法 redis publish命令基本语法如下&#xff1a; redis 127.0.0.1:6379> PUBLISH ch…

Matlab|考虑可再生能源消纳的电热综合能源系统日前经济调度模型

目录 1 主要内容 模型示意图 目标函数 程序亮点 2 部分程序 3 程序结果 4 下载链接 1 主要内容 本程序参考文献《考虑可再生能源消纳的建筑综合能源系统日前经济调度模型》模型&#xff0c;建立了电热综合能源系统优化调度模型&#xff0c;包括燃气轮机、燃气锅炉、余热…

Arduino RP2040 + SSD1306 I2C OLED +LittleFS存储GBK字库实现中文显示

Arduino RP2040 + SSD1306 I2C OLED +LittleFS存储GBK字库实现中文显示 📌LittleFS插件安装,可以参考《Arduino RP2040 LittleFS的使用介绍》🎈相关内容《Arduino esp8266 软件I2C SSD1306 +LittleFS存储GBK字库实现中文显示》🔖基于Earle F. Philhower, III的核心固件开…

如何针对机械表进行识别读数

识别机械表的读数通常涉及到图像处理和模式识别技术。以下是一个简单的例子&#xff0c;使用Python和OpenCV库来识别机械表的读数。这个例子假设表盘是静止的&#xff0c;并且有一个清晰的背景。 首先&#xff0c;你需要安装OpenCV库&#xff08;如果你还没有安装的话&#xff…

Python基础(七)之数值类型集合

Python基础&#xff08;七&#xff09;之数值类型集合 1、简介 集合&#xff0c;英文set。 集合&#xff08;set&#xff09;是由一个或多个元素组成&#xff0c;是一个无序且不可重复的序列。 集合&#xff08;set&#xff09;只存储不可变的数据类型&#xff0c;如Number、…

修改yolov9的模型打印不出来Gflops的解决办法

正在修改yolov9的模块&#xff0c;发现修改后的模型没有GFlops这个参数 解决办法&#xff1a; 找到utils/torch_utils.py这个文件&#xff0c;有一个model_info函数 然后将其中的stride改为固定的640就可以打印了。 stride max(int(model.stride.max()), 32) if hasattr(mo…

请求头content-type的类型有什么?

"Content-Type" 是 HTTP 请求头中的一个字段&#xff0c;用于指示发送给接收方的实体正文的媒体类型。常见的 "Content-Type" 类型包括但不限于以下几种&#xff1a; application/json&#xff1a; 用于指示请求或响应中的实体正文是 JSON 格式的数据。 ap…

telnet命令使用

window启用telnet telnet命令连接服务端 启动netty服务端后&#xff0c;使用如下cmd命令连接服务端&#xff0c;按enter&#xff0c;将连接到netty服务端 再按CTRL ]&#xff0c;进入命令交互界面 输入 help&#xff0c;查看命令介绍 发送消息&#xff0c;再断开连接&…

Linux:系统初始化,内核优化,性能优化(2)

优化ssh协议 Linux&#xff1a;ssh配置_ssh配置文件-CSDN博客https://blog.csdn.net/w14768855/article/details/131520745?ops_request_misc%257B%2522request%255Fid%2522%253A%2522171068202516800197044705%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fb…

js基础语法大全(时间戳,uuid,字符串转json)

目录 一、获取时间戳二、获取uuid三、字符串转json格式 一、获取时间戳 var times Math.round(new Date().getTime()/1000).toString(); //获取 10位 时间戳 console.log(times);二、获取uuid function guid() {return xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx.replace(/[xy]…

[蓝桥杯 2020 省 AB1] 走方格

题目链接 [蓝桥杯 2020 省 AB1] 走方格 题目描述 在平面上有一些二维的点阵。 这些点的编号就像二维数组的编号一样&#xff0c;从上到下依次为第 1 1 1 至第 n n n 行&#xff0c;从左到右依次为第 1 1 1 至第 m m m 列&#xff0c;每一个点可以用行号和列号来表示。 现…

【自然语言处理共现矩阵应用】共现矩阵用于表示文本中词语之间的共现关系

代码实现了共现矩阵的构建,共现矩阵用于表示文本中词语之间的共现关系。下面是代码实现原理的详细解释: create_co_occurrence_matrix 函数: 这个函数接受一个文本语料 corpus 和一个窗口大小 window_size。 corpus 是一个包含多个句子的列表,每个句子是一个字符串。 win…

拜占庭将军问题相关问题

1、拜占庭将军问题基本描述 问题 当我们讨论区块链共识时&#xff0c;为什么会讨论拜占庭将军问题&#xff1f; 区块链网络的本质是一个分布式系统&#xff0c;在存在恶意节点的情况下&#xff0c;希望 整个系统当中的善良节点能够对于重要的信息达成一致&#xff0c;这个机…

2024年3月18日 十二生肖 今日运势

小运播报&#xff1a;2024年3月18日&#xff0c;星期一&#xff0c;农历二月初九 &#xff08;甲辰年丁卯月辛巳日&#xff09;&#xff0c;法定工作日。 红榜生肖&#xff1a;牛、鸡、猴 需要注意&#xff1a;鼠、虎、猪 喜神方位&#xff1a;西南方 财神方位&#xff1a;…

分数相加减(C语言)

一、流程图&#xff1b; 二、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;int fenmu 2;int result 1;int fuhao 1;//执行循环&#xff1b;while (fenmu < 100){//运算&#xff1b;fuhao (-1…

mvnd 安装和配置

mvnd 是 maven 的增强工具&#xff0c;在执行速度方面优于 maven 下载安装&#xff1a; https://github.com/apache/maven-mvnd/releases/ 根据不同的系统下载不同的安装包 配置环境变量 Path 新增 mvnd 安装路径下的 bin 目录 E:\maven-mvnd-1.0-m8-m39-windows-amd64\b…