1. 程式人生 > >spring mvc 傳送簡訊驗證碼功能 阿里大於

spring mvc 傳送簡訊驗證碼功能 阿里大於

我們自己的伺服器是不具備傳送簡訊的功能的 傳送簡訊需要藉助第三方平臺
這裡選擇的是阿里大於 原因:免費給10塊錢 測試足夠了。。。。

新建應用

申請模板 模板要符合規範 可以帶變數 比如我這個

驗證碼:${number},打死不告訴別人!

下載jar包

我這裡用的maven maven專案新增本地jar包 有幾種解決方案 比如安裝到本地倉庫
或者直接在pom檔案中使用 路徑載入

  <dependency>
            <groupId>com.taobao</groupId>
            <artifactId
>
taobao</artifactId> <version>1.1.1</version> <scope>system</scope> <!--本地jar的路徑,相對或者絕對都可以--> <systemPath>${project.basedir}/lib/taobao-sdk-java-auto_1455552377940-20160607-source.jar</systemPath> </dependency
>
<dependency> <groupId>com.taobao1</groupId> <artifactId>taobao1</artifactId> <version>1.1.1</version> <scope>system</scope> <!--本地jar的路徑,相對或者絕對都可以--> <systemPath
>
${project.basedir}/lib/taobao-sdk-java-auto_1455552377940-20160607.jar</systemPath> </dependency>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.3</version>
                <configuration>
                    <warName>${project.artifactId}</warName>
                    <webResources>
                        <resource>
                            <directory>lib/</directory>
                            <targetPath>WEB-INF/lib</targetPath>
                            <includes>
                                <include>**/*.jar</include>
                            </includes>
                        </resource>
                    </webResources>
                </configuration>
            </plugin>

程式碼

相關id換成自己申請的

/**
     * 獲取驗證碼
     * @return
     * @throws ApiException
     */
    @RequestMapping(value = "/vcode",method = RequestMethod.POST)
    @ResponseBody
    public String getVcode(String phone, HttpSession session) throws ApiException {
        TaobaoClient client = new DefaultTaobaoClient("http://gw.api.taobao.com/router/rest",
                "23648980", "d4fc983e69b0172cc8d9f0355a32a4d9");
        AlibabaAliqinFcSmsNumSendRequest req = new AlibabaAliqinFcSmsNumSendRequest();
        req.setExtend("");
        req.setSmsType("normal");
        req.setSmsFreeSignName("快遞幫");
        //生成驗證碼數字
        String vcode = VcodeUtils.gentVcode(6);
        //存到session域中
        session.setAttribute("vcode",vcode);
        logger.info("驗證碼:"+vcode);
        req.setSmsParamString("{number:'"+vcode+"'}");
        req.setRecNum(phone);
        req.setSmsTemplateCode("SMS_49000057");
        AlibabaAliqinFcSmsNumSendResponse rsp = client.execute(req);
        System.out.println(rsp.getBody());
        return rsp.getBody();
    }