您当前的位置:首页 > 电脑百科 > 程序开发 > 移动端 > 小程序

小程序短信验证码登录,1分钟实现小程序发短信功能

时间:2021-01-11 13:37:42  来源:  作者:

老规矩先看效果图

普通短信

小程序短信验证码登录,1分钟实现小程序发短信功能

 


验证码短信

小程序短信验证码登录,1分钟实现小程序发短信功能

 

今天被云开发官方告知,云开发支持发短信功能了,然后就迫不及待地来尝下鲜。

进入官方文档一看,云开发给咱们开发者的福利还真不小。
不仅仅可以很方便地使用短信功能,还送了咱们1000条免费短信。不用白不用嘛。这1000条短信足够咱们把小程序短信功能,和小程序短信验证码功能都学会了。
废话不多说了,咱们直接来撸代码

一,使用云开发短信的条件

这个前置条件很重要,条件不满足,你就没法使用云开发短信功能。

使用条件

  • 1,必须是企业小程序,目前个人小程序无法使用短信发送
  • 2,必须开通静态网站功能(后面应该会逐步放开)
  • 3,必须开通云开发(这个没得说,不开通云开发你还用啥云开发功能啊)

上面条件都满足以后,我们就可以来愉快地撸代码了。

二,开通静态网站功能

如果你不开通静态网站,直接调用短信发送,会报如下错误。

小程序短信验证码登录,1分钟实现小程序发短信功能

 


其实官方文档里也有给出这个错误。

小程序短信验证码登录,1分钟实现小程序发短信功能

 


那么我们就来开通静态网站功能。开通静态网站功能之前,必须开通云开发,配置好云开发的环境。这些我在云开发入门里讲过很多遍。还不知道的同学可以翻看下我前面的文章或者视频:https://edu.csdn.net/course/detail/26572

这里开通云开发我们借助小程序开发者工具来实现快速开通。

2-1,注册小程序

这里我就不再多说了,只有注册过小程序的Appid才可以开通云开发

小程序短信验证码登录,1分钟实现小程序发短信功能

 


我们注册好小程序后,就可以拿到appid了,如上图

2-2,创建一个小程序项目

小程序项目的创建,我这里不再多说,我前面小程序基础课里有讲过很多遍。《小程序基础学习》

小程序短信验证码登录,1分钟实现小程序发短信功能

 


这里强调一点,就是创建小程序项目时一定要用我们自己的appid不要用测试号。

小程序短信验证码登录,1分钟实现小程序发短信功能

 


如果你一开始是用测试appid创建的,也可以通过上图的方式更换成自己的小程序的appid。

2-3,开通云开发

这里云开发的开通,我就不做过多讲解了,我云开发课程里也讲过很多遍。大家可以去翻看下

小程序短信验证码登录,1分钟实现小程序发短信功能

 


只需要点击开发者工具里的云开发按钮,跟着提示一步步操作就可以快速开通云开发。

2-4,开通静态网站功能

小程序短信验证码登录,1分钟实现小程序发短信功能

 


我们上面云开发开通好以后,就可以在这里快速开通静态网站了。

小程序短信验证码登录,1分钟实现小程序发短信功能

 


点击以后,直接点击开通即可

小程序短信验证码登录,1分钟实现小程序发短信功能

 


这时候开通有个条件

小程序短信验证码登录,1分钟实现小程序发短信功能

 


我们必须按照要求改变自己小程序的付费方式,把我们的付费方式改成按量付费即可。

小程序短信验证码登录,1分钟实现小程序发短信功能

 


这里不用担心,这里的按量付费,每月都有免费额度。这些额度我们开发学习基本上够用了

小程序短信验证码登录,1分钟实现小程序发短信功能

 


小程序短信验证码登录,1分钟实现小程序发短信功能

 


这个时候我们的静态网站功能就开通成功了。

小程序短信验证码登录,1分钟实现小程序发短信功能

 


开通成功以后如下图。

小程序短信验证码登录,1分钟实现小程序发短信功能

 


小程序短信验证码登录,1分钟实现小程序发短信功能

 

三,编写发送短信的云函数

其实上面静态网站功能开通以后,我们不用上传网站资源,就可以直接来使用短信功能了。
下面我们就来使用云开发的云函数功能来做短信发送功能。
老规矩先看效果图

小程序短信验证码登录,1分钟实现小程序发短信功能

 


代码编写也很简单

小程序短信验证码登录,1分钟实现小程序发短信功能

 


其实发送短信的代码很简单,就上面这几行。下面就来教大家如何编写这个云函数。

3-1,初始化云开发环境id

新建一个和pages平级的目录cloud,用于存放云函数

小程序短信验证码登录,1分钟实现小程序发短信功能

 


然后在project.config.json里添加cloudfunctionRoot选项。

小程序短信验证码登录,1分钟实现小程序发短信功能

 


然后对cloud选择当前环境

小程序短信验证码登录,1分钟实现小程序发短信功能

 


在app.js里配置环境变量

小程序短信验证码登录,1分钟实现小程序发短信功能

 


这个env环境id需要你去云开发控制台获取

小程序短信验证码登录,1分钟实现小程序发短信功能

 

3-2,创建云函数

右键cloud目录,新建Node.js云函数

小程序短信验证码登录,1分钟实现小程序发短信功能

 


然后新建一个云函数,名字你可以自定随便定。我这里用sendSms

小程序短信验证码登录,1分钟实现小程序发短信功能

 

3-3,编写云函数

小程序短信验证码登录,1分钟实现小程序发短信功能

 


我这里把代码贴给大家,记得把env和接收短信的手机号换成你自己的。

const cloud = require('wx-server-sdk')
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})
exports.main = async (event, context) => {
  try {
    const result = await cloud.openapi.cloudbase.sendSms({
      env: 'xiaoshitou-zfl2q',
      content: '编程小石头发布了新的能力',
      phoneNumberList: [
        "+8615611823564"
      ]
    })
    return result
  } catch (err) {
    return err
  }
}

3-4,部署云函数

上面云函数编写好了,一定要记得部署下云函数。右键sendSms然后点击下面箭头所示的即可。

小程序短信验证码登录,1分钟实现小程序发短信功能

 


上传部署成功后,会有下面这样的提示

小程序短信验证码登录,1分钟实现小程序发短信功能

 

四,调用云函数发送短信

我们上面云函数编写并部署成功以后,就可以来调用这个云函数,发送短信了。

4-1,编写wxml文件

在wxml文件里写一个button按钮,编写一个bindtap点击事件

小程序短信验证码登录,1分钟实现小程序发短信功能

 

4-2,编写js文件

在js文件里实现上面button的点击事件,然后调用云函数

小程序短信验证码登录,1分钟实现小程序发短信功能

 


调用云函数时,一定要记得这里的name必须和你的云函数名一模一样。

4-3,点击发送短信

点击发送短信

小程序短信验证码登录,1分钟实现小程序发短信功能

 


点击发送 短信以后,可以看到日志里打印openapi.cloudbase.sendSms:ok
这就代表发送成功了。
然后再看下手机,收到下面的短信。

小程序短信验证码登录,1分钟实现小程序发短信功能

 


到这里我们的短信发送功能就完整地实现了。
其实到这里该实现的功能,就已经实现了。但是我们使用短信场景更多的是用短信发送验证码。所以接下来给大家做一个发送短信验证码的例子出来

实战案例~发送验证码短信

老规矩,先看效果图

小程序短信验证码登录,1分钟实现小程序发短信功能

 


我们只需要获取用户输入的手机号,然后点击获取验证码,最后输入短信里接收到的验证码,进行验证即可。

1,编写wxml

页面比较简单,就两个输入框和两个按钮

小程序短信验证码登录,1分钟实现小程序发短信功能

 

2,编写js

js里主要是获取用户输入的手机号,然后发送验证码,发送验证码调用云函数实现短信验证码发送功能。用户输入验证码以后进行校验即可。

小程序短信验证码登录,1分钟实现小程序发短信功能

 

3,发送短信验证码

用户输入手机号以后,点击发送,可以看到我们手机上收到了如下短信。

小程序短信验证码登录,1分钟实现小程序发短信功能

 


然后用户输入获取到的验证码,点击验证。

小程序短信验证码登录,1分钟实现小程序发短信功能

 


可以看到验证成功,验证成功以后后面的操作就可以自己定了,比如验证成功以后跳转到登录成功页。

到这里我们就实现了验证码发送功能了。

生成随机验证码的方法

我这里把生成随机验证码的方法贴给大家。

  //获取随机验证码,n代表几位
  generateMixed(n) {
    let chars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
    let res = "";
    for (var i = 0; i < n; i++) {
      var id = Math.ceil(Math.random() * 35);
      res += chars[id];
    }
    return res;
  }

我后面会专门录制讲解视频

官方文档:
https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/cloudbase/cloudbase.sendSms.html



Tags:小程序   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
支付宝拥有一系列城市便民服务功能,可以帮助我们在线查看各种信息,结婚状态也可以查询了,那么具体怎么操作?今天小编就为大家带来这篇教程,还不会的同学快来学习一下吧!支付宝怎么...【详细内容】
2021-12-24  Tags: 小程序  点击:(5)  评论:(0)  加入收藏
有不少同学学完Python后仍然很难将其灵活运用。我整理15个Python入门的小程序。在实践中应用Python会有事半功倍的效果。01 实现二元二次函数实现数学里的二元二次函数:f(x,...【详细内容】
2021-12-22  Tags: 小程序  点击:(32)  评论:(0)  加入收藏
微信小程序“无障碍急救平台”日前上线,解决听障人士120急救呼叫难题。听障人士在日常生活、工作中常有信息缺失、沟通不良的困难。如果自身或身边人突发急症,则需要依靠他人...【详细内容】
2021-12-15  Tags: 小程序  点击:(9)  评论:(0)  加入收藏
一、项目背景随着小程序在用户规模和商业化上取得的极大成功,各大平台都推出了自己的小程序。然而这些平台的小程序开发在语法上又不尽相同,不同平台小程序代码的维护需要投入...【详细内容】
2021-11-05  Tags: 小程序  点击:(65)  评论:(0)  加入收藏
现如今卖东西的渠道是越来越多,如今在微信小程序也能开店卖东西了,有的小伙伴想在小程序上卖东西但不知道该怎么做,下面就来讲讲微信小程序如何做店铺,利用微信小程序!但凡得到公...【详细内容】
2021-11-03  Tags: 小程序  点击:(32)  评论:(0)  加入收藏
作者:灰灰来源:JS每日一题 一、背景传统的web开发实现登陆功能,一般的做法是输入账号密码、或者输入手机号及短信验证码进行登录服务端校验用户信息通过之后,下发一个代表登录态...【详细内容】
2021-10-29  Tags: 小程序  点击:(43)  评论:(0)  加入收藏
一、微信服务号主要偏于服务交互(类似银行,114,提供服务查询),认证前后都是每个月可群发4条消息(不适用于个人)二、微信订阅号主要偏于为用户传达资讯(类似报纸杂志),认证前后都是每天...【详细内容】
2021-10-22  Tags: 小程序  点击:(82)  评论:(0)  加入收藏
总结列举微信小程序开放能力清单 硬件能力 蓝牙 NFC读写 连接WIFI设备 开放能力 ...【详细内容】
2021-09-27  Tags: 小程序  点击:(60)  评论:(0)  加入收藏
功能说明脱离公众号下的小程序,单独使用功能特点小程序:是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用...【详细内容】
2021-09-27  Tags: 小程序  点击:(46)  评论:(0)  加入收藏
随着人们生活水平的不断提高,如今智能电视的普及率已经非常高。然而大家在使用智能电视的时候经常会遇到“无法安装第三方应用”的情况。为了解决这个问题,今天我以市场占有率...【详细内容】
2021-09-15  Tags: 小程序  点击:(81)  评论:(0)  加入收藏
▌简易百科推荐
一、项目背景随着小程序在用户规模和商业化上取得的极大成功,各大平台都推出了自己的小程序。然而这些平台的小程序开发在语法上又不尽相同,不同平台小程序代码的维护需要投入...【详细内容】
2021-11-05  携程技术    Tags:小程序   点击:(65)  评论:(0)  加入收藏
作者:灰灰来源:JS每日一题 一、背景传统的web开发实现登陆功能,一般的做法是输入账号密码、或者输入手机号及短信验证码进行登录服务端校验用户信息通过之后,下发一个代表登录态...【详细内容】
2021-10-29  Nodejs开发    Tags:微信小程序   点击:(43)  评论:(0)  加入收藏
总结列举微信小程序开放能力清单 硬件能力 蓝牙 NFC读写 连接WIFI设备 开放能力 ...【详细内容】
2021-09-27  软件开发分享    Tags:微信小程序   点击:(60)  评论:(0)  加入收藏
核心商城(CoreShop)介绍核心小程序商城系统(CoreShop) 是基于 Asp.Net 5.0、Uni-App开发、支持可视化布局的小程序商城系统;前后端分离,支持分布式部署,跨平台运行;拥有分销、代理、...【详细内容】
2021-07-20  码农也有梦想    Tags:小程序商城   点击:(115)  评论:(0)  加入收藏
介绍Vue3发布已经有一段时间了,从目前来看,其生态还算可以,也已经有了各种组件库给予了支持,但是不管是Vue3还是Vue2都无法直接用来开发小程序,因此国内一些技术团队针对Vue开发...【详细内容】
2021-07-13  爱分享Coder    Tags:小程序   点击:(203)  评论:(0)  加入收藏
首先明确几个概念1. W3C:指万维网联盟(World Wide Web Consortium),是一个国际的标准的制定机构。2. H5(HTML5,HyperText Markup Language 5的缩写),HTML5 是由W3C制定的新HTML标...【详细内容】
2021-07-06  畅游零和一的海洋    Tags:微信小程序   点击:(152)  评论:(0)  加入收藏
在开发微信公众号时,需要不时请求URL和数据封装。为了不做重复的工作。提取公共部分进行封装。产生了相应的公众类。今天先来写下请求类,代码如下:public class HttpRequestP...【详细内容】
2021-06-16  java浮萍  今日头条  Tags:公共类   点击:(134)  评论:(0)  加入收藏
小程序上线后,改版了很多次,包括一些 Api 接口也有改动。如果你学习一个很久之前的小程序项目是没有意义的,本文推荐的小程序都是最近有更新的。相信在你学习、部署的过程中,不...【详细内容】
2021-06-08    程序猿久一  Tags:微信小程序   点击:(206)  评论:(0)  加入收藏
自从2019年微信公开课Pro在微信之夜演示《跳一跳》以来,微信小游戏已经不知不觉走过的三年,这三年中我们可以明显看到微信对小游戏的扶持,对于微信开发者来说,微信小游戏开发以...【详细内容】
2021-05-25  开课吧科科  今日头条  Tags:微信小游戏   点击:(212)  评论:(0)  加入收藏
学习编程从hello world开始。学习微信小程序开发首先要安装一个微信开发者工具,官网上免费下载童叟无欺,下载完傻瓜式安装即可。 双击微信开发者工具,然后选择小程序,然后点击...【详细内容】
2021-05-12  程序员fearlazy  fearlazy  Tags:微信小程序   点击:(268)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条