第一条手机验证码

目前,许多应用都需要进行身份验证,其中通过手机验证码验证身份比较常见。

本篇文章将会让你知道应用如何发送手机验证码到手机中,当然不是我发给你啦!

我们通过电脑是不能发送短信到手机中去的,因此需要第三方平台来提供服务!

我试过了好几个云短信平台,发现还是 榛子云 短信平台比较好,因为他不需要提供营业执照。

不过缺点是该平台只提供一条免费短信,其他平台提供100 多条免费短信。

好啦,我们开始正式项目了。

首先我们创建一个 Spring Boot 项目,由于之前文章谈到过,这里就不多说了。

为了简单起见,所有的代码都最简化:

前端页面 index:







Sign Up


    

   

jquery 脚本是目前最新版的,custom 脚本的作用是为了向后台提交手机号码:

$(function(){  
    $("#sendcode").on("click", function(){
        var phone = $("input[name=phone]").val();
        $.ajax({
            url: "/sendsms",
            type: "post",
            data: {"phone":phone},
        })
    });
});

从该脚本可以看到以 post 的方式发送了 "/sendsms" 请求,请求中包含了输入的手机号。

现在来看一下控制器:

package note.controller;

import java.util.Random;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.zhenzi.sms.ZhenziSmsClient;

@Controller
public class NoteController {
    
    @GetMapping("/index")
    public String index() {
        return "index";
    }
    
    @PostMapping("/sendsms")
    @ResponseBody
    public void sendsms(String phone) {
        try {
                String verifyCode = String.valueOf(new Random().nextInt(899999) + 100000);
                ZhenziSmsClient client = new ZhenziSmsClient("https://sms_developer.zhenzikj.com", "#", "#");
                client.send(phone, "您的验证码是:"+verifyCode+",如非本人操作,请忽略本信息!");        
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

 

该控制器中打 # 的地方是在自己注册账号后,应用中的 AppId、AppSecret。

第一条手机验证码_第1张图片

 

最后 pom.xml 文件如下:

xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0modelVersion>
    <parent>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-parentartifactId>
        <version>2.2.0.RELEASEversion>
        <relativePath/> 
    parent>
    <groupId>com.manninggroupId>
    <artifactId>NoteartifactId>
    <version>0.0.1-SNAPSHOTversion>
    <name>Notename>
    <description>Demo project for Notedescription>

    <properties>
        <java.version>11java.version>
    properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-thymeleafartifactId>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>
        <dependency>
                   <groupId>com.zhenzikjgroupId>
                   <artifactId>zhenzismsartifactId>
                   <version>1.0.2version>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-testartifactId>
            <scope>testscope>
        dependency>
    dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-maven-pluginartifactId>
            plugin>
        plugins>
    build>

project>

 

项目文件:

链接:https://pan.baidu.com/s/1Z34TqWqFSJuqVo0FsliweA
提取码:dg2a

 

你可能感兴趣的:(第一条手机验证码)