APICloud AVM 封装验证码输入框组件

Unipush2.0 App消息推送(在线+离线推送) 使用unipush2.0进行消息推送,包含在线跟离线 阅读详情

AVM(Application-View-Model)前端组件化开发模式基于标准Web Components组件化思想,提供包含虚拟DOM和Runtime的编程框架avm.js以及多端统一编译工具,完全兼容Web Components标准,同时兼容Vue和React语法糖编写代码,编译工具将Vue和React相关语法糖编译转换为avm.js代码。

基于标准 Web Components 组件化思想,兼容 Vue / React 语法特性,通过一次编码,分别编译为 App、小程序代码,实现多端开发。
 

组件功能介绍

验证码输入框组件,可自定义下次点击等待时长,自定义验证码长度,可根据自定义的验证码长度进行输入内容的验证。

组件示例

组件开发

组件文件

verification-code-input.stml

<template>
	<view class="verification-code">
		<input class="code-input" placeholder="输入验证码" keyboard-type="number" oninput="getCode"/>
		<text v-show="show" class="code-btn" @click="sendCode">获取验证码</text>
		<text v-show="!show" class="code-btn">{count}s</text>
	</view>
</template>
<script>
	export default {
		name: 'verification-code-input',
		installed(){

		},
		props:{
			limitSecond:Number,
			limitCode:Number
		},
		data() {
			return{
				show:true,
				count: 0,
				timer:null
			}
		},
		methods: {
			sendCode(){
				//正则验证手机号码
				const TIME_COUNT = this.props.limitSecond;
				if (!this.data.timer) {
					this.data.count = TIME_COUNT;
					this.data.show = false;
					this.data.timer = setInterval(() => {
					if (this.data.count > 0 && this.data.count <= TIME_COUNT) {
							this.data.count--;
						} else {
							this.data.show = true;
							clearInterval(this.data.timer);
							this.data.timer = null;
						}
					}, 1000)
				}
				/**
				 * 进行发送短信验证码的操作
				 */
			},
			getCode(e){
				//对验证码进行校验 符合位置和规则进行输出
				if(e.detail.value.length == this.props.limitCode){
					let reg= /^[0-9]*$/;
					if(reg.test(e.detail.value)){
						this.fire('setCode',e.detail.value);
					}
					else{
						api.toast({
							msg:'请输入有效的验证码!'
						})
					}		
				}
				else if(e.detail.value.length > this.props.limitCode){
					api.toast({
						msg:'请输入'+this.props.limitCode+"位验证码!"
					})
				}
			}
		}
	}
</script>
<style>
	.verification-code{
		flex-flow: row nowrap;
		margin: 10px 20px;
		justify-content: space-between;
		border-bottom: 0.5px solid #f0f0f0;
		align-items: center;
	}
	.code-input{
		width: auto;
		border: none;
		font-size: 18px;
	}
	.code-btn{
		color: #1492ff;
		font-size: 18px;
	}
</style>

组件使用说明

本组件是基于AVM.js开发的多端组件,通常同时适配Android、iOS、小程序、H5 , 具体支持情况还要看每个组件的说明文档。

首先需要登录开发平台,http://www.apicloud.com。 通过控制平台右上方的模块Store进入,然后选择AVM组件。

 

 找到对应模块进入

 也可通过搜索栏,通过组件名称关键字进行检索。

进入模块详情,点击立即下载下载完整的组件安装包。  

 

 组件压缩包的文件目录如下

也可通过查看模块文档 来了解模块的具体参数,引用的原生模块,注意事项等。 

 

具体在项目中的使用步骤是,第一步将压缩文件中的verification-code-input.stml文件拷贝到项目的components目录,通过阅读readme.md 文档和查看demo示例文件 demo-verification-code-input.stml在需要开发的stml文件中,引入组件文件,完成页面的开发。

demo-verification-code-input.stml

<template>
	<view class="page">
		<safe-area></safe-area>
		<verification-code-input limitSecond={seconds} limitCode={codeLen} onsetCode="getCode"></verification-code-input>
	</view>
</template>
<script>
	import '../../components/verification-code-input.stml'
	export default {
		name: 'demo-verification-code-input',
		apiready(){

		},
		data() {
			return{
				code:'',
				seconds:60,
				codeLen:4
			}
		},
		methods: {		
			getCode(e){
				console.log(JSON.stringify(e.detail));
				this.data.code = e.detail;
			}
		}
	}
</script>
<style>
	.page {
		height: 100%;
		background-color: #ffffff;
		padding-top: 100px;
	}
	.verification-code{
		flex-flow: row nowrap;
		margin: 10px 20px;
		justify-content: space-between;
		border-bottom: 0.5px solid #f0f0f0;
		align-items: center;
	}
	.code-input{
		width: auto;
		border: none;
		font-size: 15px;
		flex: 1;
	}
	.code-btn{
		color: #1492ff;
		font-size: 15px;
	}
</style>

如果在AVM组件库中,没有找到实际项目中需要的组件,可以自己尝试封装组件。

这是组件化开发的在线文档地址

 

 

RK3566添加ffpeg【Buildroot系统】 有很多人都发现了RK3566系列的芯片是不可以直接使用ffmpeg官网源码的!会报错: Not a video capture device. /dev/video0: No such device 接下来我们就来解决这个问题!! 阅读详情

相关推荐

Tesseract OCR 字库训练教程:提高识别率进阶版

通过 Tesseract 字库训练,你可以提高 OCR 对特定文本或字体的识别能力。训练过程包括准备训练数据、生成标签文件、运行训练工具,以及将训练结果集成到实际项目中。虽然训练过程需要一些时间和精力,但对于需要高精度文本识别的场景来说,字库训练是非常有效的提升识别率的方法。

小蜗牛的珍贵百宝箱 1866

apicloud (第三篇 在打开搜索页面时,自动弹出手机键盘)

程序猿小白的博客 1670

EDA开源仿真工具verilator入门4:访问函数介绍

访问函数(Visitor Function)是verilator算法实现的主要工作方式之一,本节将介绍一下访问函数。

fangfanglovezhou的博客 1075

【亲测免费】 推荐一款创新的验证码输入库:VerificationCodeInput

推荐一款创新的验证码输入库:VerificationCodeInput 在我们的日常网络生活中,验证码已经成为保障账户安全的重要一环。然而,传统的验证码输入方式往往存在用户体验不佳的问题。今天,我要向大家推荐一个由开发者liuguangli创建的开源项目——,它是一款旨在改善验证码输入体验的前端组件库。 项目简介 VerificationCodeInput 是一个轻量级、响应式的 JavaScri...

gitblog_00059的博客 556

人像抠图 + OpenGL ES 还能这样玩?没想到吧(附带源码)

OpenGL ES 利用抠图算法实现人像留色。

字节流动 3万+

UNet 改进(45):轻松集成Triplet Attention,让分割效果起飞!

本文介绍了一种在U-Net架构中集成CSRA残差注意力模块的方法。该模块通过结合通道注意力和空间注意力机制,在U-Net的瓶颈层对特征进行自适应重标定,使网络聚焦于关键区域。文章详细解析了代码实现,包括基础构建块DoubleConv、核心CSRA模块原理及其在U-Net中的战略位置集成。测试表明该模型能保持标准U-Net的输入输出维度,同时通过注意力机制提升特征选择能力。这种模块化设计便于在不同任务中应用,为图像分割领域提供了有效的注意力增强方案。

2401_82355416的博客 104

APICloud 自定义弹窗实现

  在大家的项目里应该会出现一些弹窗选择,你可能用了 confirm、prompt,也可能用了 dialogBox,使用这些模块总是不错的,但也许其样式满足不了你的需求。 在这我给大家分享一个简单的弹窗实现,主要利用 frame 实现。   先上个效果图:   点击遮照部位可以关闭弹窗。   这个实现起来非常简单,总共就两个步骤:   第一步:打开一个全屏的 frame,并设置半透明 api.op...

H.A.N的博客 4289

【多目标跟踪】ByteTrack复现(有yolov5例子)

1.环境 ubuntu16.04 cuda10.1 cudnn7 python3.6 Cython matplotlib>=3.2.2 numpy>=1.18.5 opencv-python>=4.1.2 Pillow PyYAML>=5.3 scipy>=1.4.1 tensorboard>=2.2 torch>=1.7.0 torchvision>=0.8.1 tqdm>=4.41.0 seaborn>=0.11.0 easydic

聿默的博客 1万+

APICloud AVM框架 密码输入框组件

带网格的输入框组件,可以用于输入密码、短信验证码等场景,通常与数字键盘组件配合使用。支持自定义密码长度,支持加密和明文显示。

白鱼赤乌的博客 466

【图论】系列(七)图论的中心性度量方法及重要性评价指标

图论中的中心性度量方法是用来衡量图中各个节点(或顶点)相对重要性的指标。

qq_30066733的博客 1075

想在 Visual Studio Code 里进行 ABAP 开发,需要安装的扩展列表

安装完毕后,我们可以将 SAP 系统配置为 Visual Studio Code 连接的远程文件系统。为了连接到 SAP 系统,需要启用 ABAP 开发工具 (ADT) ICF 节点,这与 SAP Hana Studio 等工具使用的服务相同。打开 SAP GUI 并连接到目标系统,运行事务 SICF,然后激活 ADT_SRV 服务,如下所示。这启用了允许代码编辑器和 IDE 连接到 SAP 系统的服务。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 3119

快速实现自动填写验证码的功能

今日科技快讯 近日,Uber的创始人卡拉尼克终于被迫离职了。自进入2017年以来,Uber的麻烦事就没有断过。先是由于支持特朗普的限制移民政策而成为众矢之的,接着又被前女性员工控诉在Uber时长期受到性骚扰,之后又被谷歌控诉非法从谷歌这里获取无人

郭霖 6170

海康VisionMaster与西门子PLC1200进行S7通信

通信是连通算法平台和外部设备的重要渠道,在海康VisionMaster算法平台中既支持外部数据的读入也支持数据的写出,当通信构建起来以后既可以把软件处理结果发送给外界,又可以通过外界发送字符来触发相机拍照或者软件运行。 本文以西门子PLC1200作为外部设备为例,讲解海康VisionMaster与西门子PLC1200进行S7通信。......

haier123888的博客 1万+

APICloud AVM框架封装密码输入框组件

带网格的输入框组件,可以用于输入密码、短信验证码等场景,通常与数字键盘组件配合使用。 支持自定义密码长度,支持加密和明文显示。

cuicuiniu521的博客 136

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

APICloud AVM框架 封装虚拟数字键盘组件

虚拟数字键盘,支持数字随机,支持自定义输出数字内容的长度,自定义是否支持双向绑定,支持二次输入操作。可以为密码、验证码输入时使用。

白鱼赤乌的博客 704

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

iOS开发自己定义键盘回车键Return Key

在iOS开发中。用户在进行文本输入的时候,往往会用到虚拟键盘上的回车键,也就是Return Key.回车键有时候能够是“完毕”(表示输入结束)。能够是“下一项”(连续信息输入),能够是“搜索”(网页中输入)。能够是“发送”(邮件输入),能够是“增加”(比方连接Wi-Fi),等等。我们须要怎么设置呢?方法例如以下: (1)选中一个Text Field,点击右側的"S...

aodiyi6351的博客 607

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

APICloud AVM框架 封装树形分类选择组件 组件递归调用

APICloud AVM框架 封装树形分类选择组件 组件递归调用

白鱼赤乌的博客 555

短信验证码自动填写

在应用的开发过程中 我们需要向用户发送验证码以验证用户的身份,但是用户收到短信验证码后,需要离开当前的应用去查看验证码,然后再返回我们的应用来填写验证码,这样会给用户带来诸多的不便。android系统上的应用可以读取到手机上的短信,我们可以通过这个特性去获取我们想要的内容,显示到我们的输入框中。 本次我们实现的功能要用到ContentObserver,当我们发送一条短信到我们的手机上时,手机会自

leiliang568的博客 1939

Django Rest framework(drf)serializer中进行验证的几种方式

验证顺序由上至下 1、to_internal_value 通过重写to_internal_value方法来验证,也可以在这里对数据做一些处理: class FormSerializer(ModelSerializer): def to_internal_value(self, data): # 验证 logo_name = data.get('logo', None) if not logo_name: # to_interna

快下锅的粽子的博客 3848

收到短信验证码自动填充到表单,竟然是这么玩的

苹果系统上的App和网站可以实现来自短信的验证码自动填充表单的功能,通常你是怎么实现这个功能的?有一种实现方式可能你不知道,单纯的HTML标签就能实现,不需要任何的Javascript代...

太空编程 3226

自动填入短信验证码

这段时间太忙了,以至于一直没有时间更新博客。正好今天公司项目需要加入自动识别验证码的功能,所以特此记录一下 现在几乎任何App注册都离不开手机号,如果选择使用手机号注册,必定会接收并填入验证码进行注册。一些注重用户体验的App会在收到验证码后自动帮用户填入,免去了用户手动输入验证码的烦恼,整个注册过程用户是非常Happy的。 下面我们来实现这个功能,其实逻辑流程很简单: 创建广播接收器,拦截...

HurryYu的博客 2043

Vue验证码输入框组件

今天在项目中需要使用一个验证码输入框,上图: 由于压缩了,GIF不太清晰,补个原图: 刚开始想的是使用四个input,输入时聚焦到下一个,删除则聚焦到上一个,仔细一想太麻烦,放弃了。之后想就使用一个input,把letter-spacing调大,再去控制四个div的CSS,不优雅,而且下次复用直接完蛋,也放弃了。这个输入框最大的难点就在于光标位置切换,一直转进input聚焦的死胡同里了,后来灵光一闪:给一个active类,利用伪元素结合动画模拟光标,动态切换四个div的active类即可。 ..

ihezn的博客 2243

在apicloud上实现长按列表某一项弹出框

1、what: 场景:用apicloud做APP时要求长按列表中某一项对该项做出操作 2、如何做how: apicloud的文档里有一个监听长按的事件 api.addEventListener({ name:'longpress' }, function(ret, err){ alert('长按了页面'); }); vue中有个@touchstar事件,手指刚触碰到元素时触发 <li class="comment-item" v-for="(item, inde

前端小师姐迪迪_的博客 672

web: 手机键盘自动获取短信验证码,点击自动填充输入框

一、展示效果: IOS手机: autocomplete="one-time-code" <van-field :class="$style.code" v-model="verifyCode" type="text" name="验证码" pattern="\d{4}" maxlength=4 placeho..

snow的博客 6414

软键盘 android keydown,【apicloud】实现APP底部导航适应软键盘高度

apicloud开发APP时遇到需求,在页面底部加入一个输入导航,需要能适应软键盘,在软键盘弹出时自动浮于软键盘上方。apicloud提供的解决方案:安卓:于config.xml中加入IOS:于openWin、openFrame时加入参数softInputMode: 'resize'api.openWin({name:'main',url:'main.html',softInputMode:'...

weixin_42400643的博客 444

apicloud 各种提示框

延时提示框 $api.toast( '您距离此任务点直线距离为', distance + '千米', 2000 )  弹出一个定时自动关闭的提示框   /****弹出位置,顶部、中间或底部 location: top middle bottom****/ api.toast( { msg: '您距离此任务点直线距离为' + distance + '千米', duration:...

疏雨萧萧千行泪 1万+
上一篇: APICloud AVM框架 封装车牌号输入键盘组件
下一篇: APICloud AVM框架 封装树形分类选择组件 组件递归调用
白鱼赤乌
博客等级 码龄10年 7粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白鱼赤乌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值