vue3实现短信验证码组件

短信验证码

基础用法

vue 复制代码
<sms-code :before-click="handleBeforeCode" :on-success="handleSuccess" style="margin-left: 10px"></sms-code>
html 复制代码
<div style="width: 100%; display: flex; flex-wrap: nowrap; align-items: center">
    <el-input v-model="forms.smsCode" clearable placeholder="请输入验证码" maxlength="6" />
    <sms-code :before-click="handleBeforeCode" style="--btn-height: 30px;margin-left: 10px"></sms-code>
</div>
js 复制代码
// 场景一:发送验证码前需要验证表单字段
const handleBeforeCode = async () => {
    return new Promise((resolve, reject) => {
        formRef1.value.validateField(["phone"], async (valid, fields) => {
            if (valid) {
                // 发送短信接口参数
                let data = {
                    phone: forms.value.phone,
                    type: "2",
                };
                resolve(data);
            }
        });
    });
};
// 场景二:不需要验证表单直接发送
const handleBeforeCode = async () => {
    return {
        phone: forms.value.phone,
        type: "2",
    };
};
// 监听发送成功回调
const handleSuccess = (res) => {
    if (res && res.code == "0") {
        console.log("短信发送成功!");
    } else if (res && res.code != "0") {
        console.log("短信发送失败!");
    }
};
属性名 说明 类型 默认值 可选值
type 类型 string button text
time 倒计时时间 Number 60
isVertify 是否安全验证 boolean true
before-click 发送验证码前的回调函数 Function ---
on-success 发送成功的回调函数 Function ---
--style ---------------------- ---------- ------ ------
--btn-width 按钮宽度 - ---
--btn-height 按钮高度 - ---
--btn-bg-color 按钮背景颜色 - ---
--btn-text-color 按钮文字颜色 - ---

组件代码

创建组件时,在components目录下创建SmsCode文件夹,然后创建index.vue粘贴组件代码

  • 组件代码里包含了滑块安全验证组件,详细使用参考滑块安全验证组件

相关推荐
深圳多奥智能一卡(码、脸)通系统2 分钟前
智能梯控SDK可直接用于第三方开发对接的接口文档说明书
服务器·前端·算法
烂蜻蜓11 分钟前
Flask入门教程(十五):错误处理与日志——打造健壮的Web应用
前端·python·flask
深念Y18 分钟前
浏览器缩放检测的前端通用方案
前端
风骏时光牛马26 分钟前
AIAgent异常故障根因分析与复盘总结
前端
weixin_4316004427 分钟前
前端数据埋点(7):Web Vitals——页面慢不慢,不是再包一层 fetch
前端·性能优化·sentry·数据埋点
千里码aicood2 小时前
Django+Vue 基于XGBoost与随机森林的沿海地区台风天气大数据预警系统实现
vue.js·随机森林·django
এ慕ོ冬℘゜2 小时前
前端实战:jQuery实现动态表格渲染与状态切换功能
前端·javascript·jquery
zzzzzz3102 小时前
react-bits:把酷炫动效从“灵感截图”变成可复用的 React 组件
javascript·react.js·动效
jay神2 小时前
【计算机毕业设计】基于Flask+Vue的电影数据可视化与智能推荐系统
前端·vue.js·python·信息可视化·flask·毕业设计·课程设计
FreeTinker9 小时前
HTML本地存储技术解析:localStorage与sessionStorage的原理、差异与应用场景
前端·html