您的位置:澳门402永利com > 编程应用 > 阿里大鱼,2整合最新版阿里大鱼进行短信验证码

阿里大鱼,2整合最新版阿里大鱼进行短信验证码

发布时间:2019-09-23 20:45编辑:编程应用浏览(76)

    Ali大鱼最新下载地址:Ali大鱼SDK下载恐怕从官方网址举行下载:阿里大鱼SDK官方网址下载

    Maven+springboot+Ali超过短信验证服务

    纠结点:Maven库未有sdk,必要减轻

        Maven打包找不到相关类,须要缓慢解决

    下载实现后,将削减包内的api_sdk文件夹放到ThinkPHPLibraryVendor目录下,修改文件名称叫Aliyun,若修改为其余名目,请修改命名空间!

    ps:新近深切未有写点东西了,项目太紧,明日来一篇

    Ali大鱼申请手续就背着了!早先接入吧~

    一、本文简要介绍

      在干活中间的类型中,作者遭受过这种状态,集团架构选型SpringBoot ,那是个基于Maven营造的档案的次序,

      需求集成Ali大鱼短信系统,然后揭露REST风格的API接口出去。本文保护教学。

    设置Ali大鱼配置新闻:

    二、开辟计划

      Ali当先,是Ali的通信产品之一,提供短信验证码服务。

      1、须要登记Ali大鱼账户、充钱、设置,这一块非常少讲,官方网站有文书档案。

        ()

      2、下载官网开拓包(SDK)

        图片 1

      3、官方给的demo例子(先参考下,主要看小编的德姆o)

    TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret);
    AlibabaAliqinFcSmsNumSendRequest req = new AlibabaAliqinFcSmsNumSendRequest();
    req.setExtend("123456");
    req.setSmsType("normal");
    req.setSmsFreeSignName("阿里大于");
    req.setSmsParamString("{"code":"1234","product":"alidayu"}");
    req.setRecNum("13000000000");
    req.setSmsTemplateCode("SMS_585014");
    AlibabaAliqinFcSmsNumSendResponse rsp = client.execute(req);
    System.out.println(rsp.getBody());
    

     

    在配置文件中布局:

    三、正式开辟

      部分同学恐怕应用的框架不是springboot ,没提到,抛砖引玉,那一个不影响,首要看落实。

      1、创建Maven项目

        不多讲!

     

      2、Ali大鱼SDK工具包配置

        Ali大鱼的sdk在maven库中,不能够找到,所以,咱们要步向地方的jar.这一步骤,我们须要变成该配置

        2.1、下载阿里大鱼SDK

           在官方网站就能够下载,下载完之后,解压后我们看见:

            图片 2

            大家接下去须要做的,正是将地面包车型大巴那多个公文,出席地点饭店

        2.2、将SDK参预地点Maven货仓

          Windows系统命令行讲明如下:(备注:若是linux系统下,要做三个pom.xml文件辅导)

          (groupid,artifactId,version都以不管填)

          mvn install:install-file 
              -DgroupId=taobao
              -DartifactId=taobao
              -Dversion=1.0       //版本号
              -Dpackaging=jar               //类型
              -Dfile=d:****.jar     //jar包名       

          非常与在pom.xml中增多了 
            <dependency> 
              <groupId>taobao</groupId> 
              <artifactId>taobao</artifactId> 
              <version>1.0</version> 
            </dependency> 

          运维命令行(根据本身实际情况修改,都在一行下边):

         

     mvn install:install-file  -DgroupId=taobao -DartifactId=taobao -Dversion=1.0 -Dpackaging=jar -Dfile=d:******.jar
    

          完了您就足以见到,你的maven库中会有您刚刚增加的包 了(解压后应当是七个包,同样的艺术)

          (16.10.08国庆主要更新)ps:上边代码刚起始写博客的时候,写错了一部分标识,坑了相当多恋人,修改回复了,

          (16.12.2日重要创新)假若打包不成功的同窗,也不用浪费时间了,

          笔者有一向打包好的maven包,链接:,

                          解压后投入到地头maven库中 , 直接能够在pom.xml参预一下代码 

    图片 3图片 4

    <!-- 阿里大于短信 -->
            <dependency>
                <groupId>zhanyun</groupId>
                <artifactId>zhanyun</artifactId>
                <version>1.0</version>
            </dependency>
            <dependency>
                <groupId>zhanyun2</groupId>
                <artifactId>zhanyun2</artifactId>
                <version>1.0</version>
            </dependency>
    

    View Code

              倘诺设置失败,请联系WeChat: wixf150  

         2.3、须要在maven中参与配置插件(这一步非必选)

        

    <!-- 解决本地jar植入的插件 -->
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>1.6</source>
                        <target>1.6</target>
                        <encoding>UTF-8</encoding>
                        <compilerArguments>
                            <extdirs>srcmainwebappWEB-INFlib</extdirs>
                        </compilerArguments>
                    </configuration>
                </plugin>
    

     

      3、加入SpringBoot供给的信赖

        springboot pom.xml.完整的代码如下:

        

    <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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>cc-hyh-demo</groupId>
        <artifactId>cc.hyh.demo</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <!-- parent依赖 -->
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>1.3.6.RELEASE</version>
        </parent>
    
        <build>
            <sourceDirectory>src/main/java</sourceDirectory>
            <plugins>
                <!-- 打包插件 -->
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <executions>
                        <execution>
                            <goals>
                                <goal>repackage</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <source>1.6</source>
                        <target>1.6</target>
                        <encoding>UTF-8</encoding>
    
                    </configuration>
                </plugin>
                <!-- 解决本地jar植入的插件 -->
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>1.6</source>
                        <target>1.6</target>
                        <encoding>UTF-8</encoding>
                        <compilerArguments>
                            <extdirs>srcmainwebappWEB-INFlib</extdirs>
                        </compilerArguments>
                    </configuration>
                </plugin>
            </plugins>
        </build>
        <dependencies>
            <!-- 阿里云 短信 依赖 -->
            <dependency>
                <groupId>taobao</groupId>
                <artifactId>taobao</artifactId>
                <version>1.0</version>
            </dependency>
            <dependency>
                <groupId>taobao</groupId>
                <artifactId>taobao</artifactId>
                <version>1.0</version>
            </dependency>
            <!-- springboot 依赖 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
                <scope>provided</scope>
            </dependency>
        </dependencies>
    </project>
    

      注意:Ali短信的包,是本人要好形花费地库中的,不要照搬。

      4、首要的服务类

      其余协理的代码省略。主要落成发送验证码代码:

      

    package cc.dayu.service;
    
    import java.util.Date;
    
    public class DaYuService {
    
        public Info requestSmsCode(String phone) {
         //这个只是我项目中的标识,忽略
            Info in = new Info();
         //阿里大鱼URL
            String url = "http://gw.api.taobao.com/router/rest";
         //我自己随机生成了六位数验证码,自己去实现
            String code = RandomUtil.createRandomVcode();
         //以下才是重点  三个参数,一个url阿里大鱼的服务地址,其他两个去阿里大鱼后端查看自己的相应的参数
            TaobaoClient client = new DefaultTaobaoClient(url, "23334143",
                    "23gyfruy38hf83yh7y8u98j9u9j9i9");
            // String json="{"code":"1234","product":"某某电子商务验证"}";
            AlibabaAliqinFcSmsNumSendRequest req = new AlibabaAliqinFcSmsNumSendRequest();
            req.setExtend("1");
            //必须填写normal
         req.setSmsType("normal");
         //你应用的名字
            req.setSmsFreeSignName("XXXX");
        //电话号码
            req.setRecNum(phone);
        //模板
            req.setSmsTemplateCode("SMS_8926569");
        //模板中的参数,按照实际情况去
            req.setSmsParamString("{msg:'" + code + "'}");
    
            try {
                AlibabaAliqinFcSmsNumSendResponse rsp = client.execute(req);
                // 这里是我设置的一个保存验证码 机制。按照实际需求,自行设计
                UserSms userSms = new UserSms();
                userSms.setPhone(phone);
                userSms.setCode(code);
                userSms.setTime(new Date());
                sms.addSms(userSms);
                in.setStatus("发送成功");
            } catch (ApiException e) {
                // TODO Auto-generated catch block
                // e.printStackTrace();
                in.setStatus("发送失败");
            }
    
            return in;
        }
    }
    
     1     'ALI_SMS' => [ 2         'PRODUCT' => 'Dysmsapi', 3         'DOMAIN' => 'dysmsapi.aliyuncs.com', 4         'REGION' => 'cn-hangzhou', 5         'END_POINT_NAME' => 'cn-hangzhou', 6         'KEY_ID' => '你的 Access Key ID', 7         'KEY_SECRET' => '你的 Access Key Secret', 8         'SIGN_NAME' => '签名名称', 9         'TEMPLATE_CODE' =>'模板code',10     ],
    

    四、调换情势

      其实对于Maven项目增加Ali大鱼那样的德姆o,重要的标题在于,怎么着将Ali大鱼jar参预maven,何况能打包成功,

      供给源码或沟通联系,请加WX:  wixf150  (一路上)

    中间转播请申明出处(原创):

     

    安装实现以后,在function.php文件中新建发送短信函数,这里命名字为sendCode:

    <?phpuse AliyunCoreConfig;use AliyunCoreProfileDefaultProfile;use AliyunCoreDefaultAcsClient;use AliyunApiSmsRequestV20170525SendSmsRequest;/** * Created by PhpStorm. * User: Administrator * Date: 2018/5/2 0002 * Time: 10:20 */function sendCode($num,$code){    require_once '/ThinkPHP/Library/Vendor/Aliyun/vendor/autoload.php';    //加载区域结点配置    Config::load();    // 初始化用户Profile实例    $profile = DefaultProfile::getProfile(C('ALI_SMS.REGION'), C('ALI_SMS.KEY_ID'), C('ALI_SMS.KEY_SECRET'));    // 增加服务结点    DefaultProfile::addEndpoint(C('ALI_SMS.END_POINT_NAME'), C('ALI_SMS.REGION'), C('ALI_SMS.PRODUCT'), C('ALI_SMS.DOMAIN'));    // 初始化AcsClient用于发起请求    $acsClient= new DefaultAcsClient($profile);    // 初始化SendSmsRequest实例用于设置发送短信的参数    $request = new SendSmsRequest();    // 必填,设置雉短信接收号码    $request->setPhoneNumbers($num);    // 必填,设置签名名称    $request->setSignName(C('ALI_SMS.SIGN_NAME'));    // 必填,设置模板CODE    $request->setTemplateCode(C('ALI_SMS.TEMPLATE_CODE'));    // 可选,设置模板参数    $request->setTemplateParam(json_encode(array(  // 短信模板中字段的值        "code"=>$code,        "product"=>"dsd"    ), JSON_UNESCAPED_UNICODE));    //发起访问请求    $acsResponse = $acsClient->getAcsResponse($request);    //返回请求结果    $result = json_decode(json_encode($acsResponse),true);    return $result;}
    

    采用,只在=在调整器中调用sendCode函数就能够:

    public function sendmsg(){    $phone = input('post.phone_num');    $code = rand(100000,999999);    $res = sendCode($phone,$code);    if($code == "OK"){        $data = array('msg'=>'success');    }else{        $data = array('msg'=>'error');    }    return json_encode($data);}
    

    功能如下所示:

    图片 5

    原来的书文地址:张先生的博客

    本文由澳门402永利com发布于编程应用,转载请注明出处:阿里大鱼,2整合最新版阿里大鱼进行短信验证码

    关键词:

上一篇:没有了

下一篇:没有了