开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot):阿里云短信服务介绍】学习笔记,与课程紧密连接,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/667/detail/11443
阿里云短信服务介绍
内容介绍
一、整合阿里云短信服务,注册时发送手机验证码
二、开通阿里云短信服务
目前的需求是在首页面中有登录和注册,在登录或注册的时候要发送手机验证码,就需要整合短信服务,用的是阿里云中的服务。
下面要做的事就是整合阿里云的短信服务发送手机验证码。
一.整合阿里云短信服务,注册时发送手机验证码
做准备工作
- 在 service 里创建子模块 service_msm(右键创建一个 module,里边建一个maven 工程)
创建完成之后可能会出现一个问题,等他下面加载完成之后,service_msm 里面的图标可能会不变,一般来讲在 idea 中建的子模块超过三个都有这个问题。
如何解决呢?
点击右键找 open module settings,对应文件夹改图标。第二个方法是直接把里面内容复制过去。
- 创建包结构,创建 controller 和 service,创建启动类和配置文件
在 com.atguigu.msmservice 先建个包 controller,再创建包 service。
在 controller 里新建一个类 MsmController,加上对应的注解:
@Restcontroller
@RequestMapping(“/edumsm/msm”)
@CrossOrigin
在 service 里新建一个类 MsmService,kind 选 interface。
再创建实现类,新建包 impl,在 impl 中新建类 MsmServiceImpl,让这个实现类实现刚才的接口:
package com. atguigu.msmservice.service.impl;
import com.atguigu.msmservice.service.MsmService;
import org.springframework. stereotype.Service;
@Service
public class MsmServiceImpl implements MsmService
下面写配置文件,在配置文件中配置内容
#服务端口
server.port=8005
#服务名
spring.application. name=service-msm
#mysql 数据库连接
spring. datasource. Driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/guli?serverTimezone GMT%2B8
spring.datasource.username=root
spring.datasource.password=root
spring.redis.host=192.168.44.131
spring.redis.port=6379
spring.redis.database= 0
spring. redis.timeout=1800000
spring. redis. lettuce.pool.max-active=20
spring.redis.lettuce.pool.max-wait=-l
#最大阻基等待时间(负数表示没限剧)
spring. redis. lettuce.pool.max-idle=5
spring.redis. lettuce.pool.min-idle=0
#最小空闲
#返回json的全局时间格式
spring.jackson.date-format=yyyy-MM-dd HH:me.SS
spring.jackson.time zone=GMT+8
#mybatis日志
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
下面写最基本的配置文件,由上述内容,端口号是8005,sevice_edu 是01,service_oss 是02,service_vods 是03,service_cms 是04,准备工作就做完了。
大致就是首先建了一个子模块和包,包里面有 controller 和 service 还有配置文件msmapplication 启动类,
在启动类加上相关内容:
@SpringBootApplication(exclude=DataSourceAutoConfiguration.class) //表示不去自动加载数据库的信息
二.开通阿里云短信服务
1.开通阿里云短信服务
进入阿里云网站,登录后点产品分类-云计算基础-云通信-短信服务
进入到这样一个界面
默认没有开通短信服务,点击管理控制台,立即开通,跟之前开通 oss,vod 是一样的。进入到这样的界面:
概览就是列出当前的一些基本数据,发送总量,发送成功量,发送未成功等。
我们主要看的是国内消息。
2.进入控制台,点击“国内消息”,申请签名管理和模板管理
3.模板如何申请?
模板管理:在手机上显示的短信内容叫模板,也就是根据提供的模板在手机上显示内容。模板示例:
- 点击添加模板,会出现以下界面。
- 模板类型:选择第一项验证码(0.045元/条)
- 模板名称:名字要起的有实际意义,不是固定的。
- 模板内容:手机上显示的东西。常用模板库里有很多模板,模板里有一个表达式,例如$(code),代表验证码的值,值最后会通过程序生成。一般短信中可能会出现中括号加短信的来源,这个不必写到模板内容中,他会后期自动生成,加上会报错。
- 申请说明:申请模板的原因,要具有实际意义。例:为了学习阿里云的短信服务,学习短信发送方式。不要只有一两个字,可能审核会不通过。
- 点击提交,等待审核,审核通过后可使用。
- 如何申请签名管理?
签名管理:涉及发送里面的信息。
- 点击添加签名:需要有实际意义,有具体的名称。网站名字+网站用途,这样通过几率大。
- 适用场景:选择验证码。如果适用场景选择通用,通用有个特点就是要求这个网站有运行上限,而我们的网站没有上限。
- 是否涉及第三方权益:选择否。
- 申请说明:可以不写,写的话要具有实际意义。
网站中本身存在的 bug:如果审核未通过,可以点击修改。但是点击之后会发现验证码的位置不能再点,这时刷新几次就可以选择了。
全部申请完成之后要如何运用呢?
点击模板管理,主要会用到里面的工单号,模板 code(指定给手机发送的内容)。
点击签名管理,只有签名审核通过之后才能进行短信发送。