瑞吉外卖短信验证问题心得
本文最后更新于 195 天前,其中的信息可能已经有所发展或是发生改变。

在做瑞吉外卖项目的时候,用户端手机号码短信登录功能算是我的一个大敌人,时间是7月14号,这个功能,我足足花了一个星期来解决,而且还不是自己解决的,我发小(从小学玩到大学的)帮我解决的这个问题!

先导入了坐标

 

 <dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.6.3</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-dysmsapi</artifactId>
<version>2.2.1</version>
</dependency>

我的心理路程:

当时为按照视频用哪个阿里云手机短信服务,也提供了一个模板,我看视频上面老师提供的模板跟阿里云官网提供的不一样,我就按照老师给的模板去完成功能,很不幸,烦躁躁的心理从此刻开始出来的!

/**
 * 短信发送工具类
 */
public class SMSUtils {
/**
* 发送短信
* @param signName 签名
* @param templateCode 模板
* @param phoneNumbers 手机号
* @param param 参数
*/
public static void sendMessage(String signName, String templateCode,String phoneNumbers,String param){
DefaultProfile profile = DefaultProfile.getProfile(“cn-hangzhou”, “”, “”);
//getProfile(地域编码,AccessKeyId,AccessKeySecret)
IAcsClient client = new DefaultAcsClient(profile);
SendSmsRequest request = new SendSmsRequest();
request.setSysRegionId(“cn-hangzhou”);//设置地域编码
request.setPhoneNumbers(phoneNumbers);
request.setSignName(signName);
request.setTemplateCode(templateCode);
request.setTemplateParam(“{\”code\”:\””+param+”\”}”);
try {
SendSmsResponse response = client.getAcsResponse(request);
System.out.println(“短信发送成功”);
}catch (ClientException e) {
e.printStackTrace();
   }
}
}
我当时就以为是自己maven坐标导入的版本不对,为什么发不了验证码呢?
                     经历了一个星期的苦战,损失了我一个星期去玩的时间加上一个键盘,没错,我发狂,摔坏了一个键盘!前前后后经历了,项目重建,代码重写,甚至我都觉得是我电脑本身的问题!
–结果,模板导错了,真不该,因为那个瑞吉外卖项目用的阿里云短信服务的模板是旧版的,我是2023年看的视频,用的也是以前的模板,但是!!!!!所有东西都是在不断更新的,阿里云官网的模板也在不断更新,就是这个问题,我暑假浪费了一个星期。在这里,我要说一声,一定要用官网的模板!!!!
也一定要跟随潮流来不断给更新自己的代码!!!
 //
//package com.itheima.reiji.utils.sms;
//
//
//import com.aliyuncs.DefaultAcsClient;
//import com.aliyuncs.IAcsClient;
//import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest;
//import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
//import com.aliyuncs.exceptions.ClientException;
//import com.aliyuncs.profile.DefaultProfile;
//
//
///**
// * 短信发送工具类
// */
//
//public class SMSUtils {
//
//
// /**
// * 发送短信
// *
// * @param signName 签名
// * @param templateCode 模板
// * @param phoneNumbers 手机号
// * @param param 参数
// */
//
// public static void sendMessage(String signName, String templateCode, 
String phoneNumbers, String param) {
// DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou",(填自己的私钥) ,);
// IAcsClient client = new DefaultAcsClient(profile);
//
// SendSmsRequest request = new SendSmsRequest();
//
// request.setPhoneNumbers(phoneNumbers);
// request.setSignName(signName);
// request.setTemplateCode(templateCode);
// request.setTemplateParam("{\"code\":\"" + param + "\"}");
// try {
// SendSmsResponse response = client.getAcsResponse(request);
// System.out.println("短信发送成功");
// } catch (ClientException e) {
// e.printStackTrace();
// }
// }
//
//}
//

上述私钥,用户信息已经封装到一个单独的类当中去了!

总的来说,这也不是什么技术上面的bug,问题。纯粹是没有按照官网上面的来,真就很心累!

你在我代码里面在某个地方打个空格(非语法错误的空格,就编译器检测不出来),当运行的时候,我要排山倒海的抓狂!!!!
   其实我觉得最难解决的bug,不是编译器报的语法错误,也不是控制台打印的错误,是项目运行,代码运行没有达到预期的结果!!!你要查张三,他查出来的是李四,这种bug是最难找的,啥错误没报,就是没达到自己的预期!!!!!!要疯了!
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇