发表于: 2017-10-18 22:28:56

1 836


今天完成的事情:

1.打包SDK

容联的SDK给的是一个项目,并不是一个jar,这不能直接放进项目中,只好手动打包啦

先是用jar打的,很麻烦,不知道是不是打错了,不生效

然后想用maven打,没有pom,打不了

百度了一下,得到一个快速好用的方法

如图,进入项目结构中


点击OK后——》——》




效果:

不仅仅SDK包出来了,SDK依赖的包也一股脑出来了,之后全部导入就好了




2.完成了短信API的封装与运行,账号密码集成在Spring配置文件中

容联并不是免费的,给你8块钱,用光就没,项目审核不通过的话还只能测试用

这个效果只能贴在日报中了……网站中无法实现,毕竟……实现的成本还是很高的……

封装好的工具类:

public class SMSUtil {
   private static String account;
   private static String token;
   private static String appId;

   private static CCPRestSDK create() {
       CCPRestSDK restAPI = new CCPRestSDK();
       // 初始化服务器地址和端口,格式如下,服务器地址不需要写https://
       restAPI.init("app.cloopen.com", "8883");
       restAPI.setAccount(account, token);// 初始化主帐号和主帐号TOKEN
       restAPI.setAppId(appId);// 初始化应用ID
       return restAPI;
   }

   public static void verifyBySMS(String tel,String code, String min) {
       CCPRestSDK restAPI = create();
       HashMap<String, Object> result = null;

       result = restAPI.sendTemplateSMS(tel, "1", new String[]{code, min});

       System.out.println("SDKTestSendTemplateSMS result=" + result);

       if ("000000".equals(result.get("statusCode"))) {
                      //正常返回输出data包体信息(map)
           HashMap<String, Object> data = (HashMap<String, Object>)                     result.get("data");
           Set<String> keySet = data.keySet();
           for (String key : keySet) {
               Object object = data.get(key);
               System.out.println(key + " = " + object);
           }
           } else {
                      //异常返回输出错误码和错误信息
           System.out.println("错误码=" + result.get("statusCode") + " 错误信息= " + result.get("statusMsg"));
       }
   }

   public void setAccount(String account) {
       SMSUtil.account = account;
   }


   public void setToken(String token) {
       SMSUtil.token = token;
   }


   public void setAppId(String appId) {
       SMSUtil.appId = appId;
   }

}

Spring配置账号token还有appid

<bean id="SMSConfiguration" class="cn.summerwaves.util.SMSUtil">
   <property name="account" value="8a216da85f293dc6015f29f3093600d9"/>
   <property name="token" value="607bce54d7b0471b88d5a183d0ac96b6"/>
   <property name="appId" value="8a216da85f293dc6015f29f30abd00e0"/>
</bean>


————————————————猴子分割线————————————————————

说实话修真院官方的那个账号密码在Spring中配置的方法实在是有点不知所云

猴子也能看懂的配置方法

第一步:

第二步:

第三步:

第四步:

真·就算猴子也能看懂


————————————————猴子分割线————————————————————


配置说明完之后来看一下运行效果

参数

控制台

效果




3.完成短信发送,还以为邮件也差不多,结果还踩了一个坑

虽然官网上说要用sendcloud,不过那个太小气了,只有10个额度,多余的还得你自己去赚

于是乎我使用了赛邮云通信,不知道是不是不同sdk的原因,这个要设置挺多东西


首先是发信域名:


到阿里云中设置域名解析



赛邮云中设置发信人


设置完之后发现在官方给出的demo中没有设置账号密码的语句,SDK的账号是集成在SDK中的,有点麻烦


不过通过查看了SDK的源码之后发现是可以使用set的


重施故技,封装好,这个就只看方法就好了,精简了设置,只保留了发送的功能

要注意的是,setSender只能使用我上面设置的发信人的邮箱,其他的不行

测试一下,看看效果


控制台:



邮箱:


明天计划的事情:

1.准备小课堂

2.完成任务六的深度思考

3.学习图片上传



遇到的问题:

1.使用邮件SDK时遇到异常

java.lang.NoSuchFieldError: INSTANCE

解决方法:百度一搜索第一个就是,原因是导入的包冲突了,把名字看起来像的包每个删一下,试个两次就好了

2.邮件SDK的域名配置

解决方法:开始一头雾水,搜索“发信服务器”看到阿里云的配置邮件域名服务器和赛邮云的发信域名管理才恍然大悟



收获:

1.学会如何将SDK打包

2.学会了怎么使用第三方API接口



进度:

任务7开始时间:2017.10.18

预计demo时间:2017.10.26

延期风险:有

理由:任务难度初步估算,途中有小课堂

拆了禅道,估算时间是五天,加上一天半小课堂,一天半缓冲,一共八天

禅道

http://task.ptteng.com/zentao/project-task-350.html




返回列表 返回列表
评论

    分享到