Harry技术添加存储(minio、aliyun oss)、短信sms(aliyun、模拟)、邮件发送等功能

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
对象存储 OSS,恶意文件检测 1000次 1年
简介: ### SpringBoot3 + Vue3 前后端分离的Java快速开发框架更新本次更新主要包含以下内容:1. **端口修改**:为避免与Minio存储服务冲突,后端启动端口从9000改为9999。2. **添加存储支持**:集成Minio和便宜云服务器OSS对象存储服务,详细配置请参考相关文档。3. **短信服务**:接入便宜云服务器短信服务,并增加模拟发送功能,方便本地测试。4. **邮件发送**:引入邮件发送功能,支持简单文本邮件和带附件邮件。5. **完善个人中心**:优化个人中心页面,提升用户体验。

Harry技术添加存储(minio、aliyun oss)、短信sms(aliyun、模拟)、邮件发送等功能

基于SpringBoot3+Vue3前后端分离的Java快速开发框架

项目简介:基于 JDK 17、Spring Boot 3、Spring Security 6、JWT、Redis、Mybatis-Plus、Knife4j等构建后端,基于Vue 3、Element-Plus 、TypeScript等构建前端的分离单体权限管理系统。

项目地址:

后端:

gitee: https://gitee.com/harry-tech/harry.git

gitcode: https://gitcode.com/harry-tech/harry.git

前端:

gitee: https://gitee.com/harry-tech/harry-vue.git

https://gitcode.com/harry-tech/harry-vue.git

觉着有帮助,给个Star再走呗 ~~~~

公众号搜“Harry技术”,关注我,带你看不一样的人间烟火!

端口修改

之前后端服务的启动端口设置为9000,而现在将其修改为9999。为什么会做出这样的修改呢?这主要是由于在进行minio整合工作的时候,发现后端原本使用的9000端口与minio存储服务的端口产生了冲突。在这种情况下,为了确保整个项目的顺利运行(也方便大家在整合minio做出不必要的麻烦),经过权衡,只能做出调整,让出原本使用的端口,将后端服务的启动端口修改为9999

  • 后端修改

server:

 port: 9999

  • 前端修改

注意:最近总是有小伙伴在运行项目的时候报错,首先,确保本地安装了redis、mysql等,其次查看一下前端.env.development文件中 Mock 服务是否为false状态,当设置为false时,才会去加载后台接口。

# 是否启用 Mock 服务

VITE_MOCK_DEV_SERVER = false

添加存储(minio、aliyun oss)

有关minio的安装,这里就不过多说了,可以参考《Windows下Minio的安装以及基本使用》、《Spring Boot 3 整合 minio 实现文件存储》这两篇文章带你入门。

minio依赖

 <minio.version>8.5.10minio.version>

   

   <dependency>

       <groupId>io.miniogroupId>

       <artifactId>minioartifactId>

       <version>${minio.version}version>

   dependency>

便宜云服务器OSS依赖

<aliyun.oss.version>3.17.4aliyun.oss.version>

<dependency>

   <groupId>com.aliyun.ossgroupId>

   <artifactId>aliyun-sdk-ossartifactId>

   <version>${aliyun.oss.version}version>

dependency>

在项目启动前,先选择你需要的存储服务器,比如你想使用minio作为存储,那么你在yml文件中进行相关的配置,将type设置为minio

# 文件存储配置

oss:

 # OSS 类型 (目前支持aliyun、minio)

 type: minio

 # MinIO 对象存储服务

 minio:

   # 服务Endpoint

   endpoint: http://localhost:9090

   # 访问凭据

   access-key: eFbF9rSBtgfqiLGDcPDo

   # 凭据密钥

   secret-key: Sfgc06T1S6zhzVTzCwIFhr6KUs7zqCwOwFkHHez4

   # 存储桶名称

   bucket-name: harry

   # (可选)自定义域名,如果配置了域名,生成的文件URL是域名格式,未配置则URL则是IP格式

   custom-domain:

 # 便宜云服务器OSS对象存储服务

 aliyun:

   # 服务Endpoint

   endpoint: oss-cn-beijing.aliyuncs.com

   # 访问凭据

   access-key-id: XXX

   # 凭据密钥

   access-key-secret: XXX

   # 存储桶名称

   bucket-name: honghh

短信sms(aliyun、模拟)

这次更新里,我们接入了便宜云服务器的短信服务。比如你在个人中心换个手机号,就得先拿到一个短信验证码。但在咱们本地测试的时候,老发真实短信也太费钱了。所以啊,我特意加了个模拟发送短信的功能,这样在后台就能直接打印出验证码来,你只需要输入这个验证码就能完成验证了。那么,我们应该如何开启模拟功能呢?很简单,只需要将sms.aliyun.enable设置为false就可以了。

sms:

 aliyun:

   enable: false  #如果enable为false时 则不发送短信

   accessKeyId: XXX

   accessKeySecret: XXX

   regionId: cn-shanghai

   signName: Harry技术

   templateCodes:

     # 注册(预留)

     register: SMS_xxx

     # 登录(预留)

     login: SMS_xxx

     # 修改密码

     changePassword: SMS_xxx

@Slf4j

@Component

@ConditionalOnProperty(value = "sms.aliyun.enable", havingValue = "false")

public class FakeSmsStrategy implements SmsStrategy {

   @Override

   public SendSmsResponse send(SmsParam smsParam) {

       log.info("FakeSmsStrategy smsParam:{}", JSONUtil.toJsonStr(smsParam));

       String str = "{\"bizId\":\"111111111\",\"code\":\"OK\",\"message\":\"并未真实发送\",\"requestId\":\"111111111\"}";

       return BeanUtil.copyProperties(JSONUtil.parseObj(str), SendSmsResponse.class);

   }

}

邮件发送

这次更新里,我们还引入了邮件发送,如果你没有基础,你可以去学习这篇文章进行入门《使用Java实现邮件发送功能,邮件发送API JavaMail》,配置也是很简单的。

引入依赖

       

       <dependency>

           <groupId>org.springframework.bootgroupId>

           <artifactId>spring-boot-starter-mailartifactId>

       dependency>

功能实现

/**

* @author harry

* @公众号 Harry技术

*/

public interface MailService {

   /**

    * 发送简单文本邮件

    *

    * @param to      收件人地址

    * @param subject 邮件主题

    * @param text    邮件内容

    */

   void sendMail(String to, String subject, String text) ;

   /**

    * 发送带附件的邮件

    *

    * @param to      收件人地址

    * @param subject 邮件主题

    * @param text    邮件内容

    * @param filePath 附件路径

    */

   void sendMailWithAttachment(String to, String subject, String text, String filePath);

完善个人中心

修改文件内容

总结

本次更新主要包含以下内容:

  1. 端口修改:为避免与Minio存储服务冲突,后端启动端口从9000改为9999。
  2. 添加存储支持:集成Minio和便宜云服务器OSS对象存储服务,详细配置请参考相关文档。
  3. 短信服务:接入便宜云服务器短信服务,并增加模拟发送功能,方便本地测试。
  4. 邮件发送:引入邮件发送功能,支持简单文本邮件和带附件邮件。
  5. 完善个人中心:优化个人中心页面,提升用户体验。

注意事项:

  • 确保本地安装Redis、MySQL等。
  • 检查前端.env.development文件中Mock服务是否设置为false,以加载后台接口。
相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
目录
相关文章
|
5天前
|
存储 人工智能 缓存
OSS 100Gbps/租户技术解读
本次分享由便宜云服务器资深技术专家罗庆超解读OSS 100Gbps/租户技术,涵盖五个方面:技术概况、后端性能保障、网络接入优化、最后一公里优化及总结展望。介绍了如何通过高性能存储池、网络优化和客户端工具提升性能,确保用户享受高效稳定的对象存储服务,并展望了未来的技术挑战和发展方向。
34 14
|
1月前
|
存储 弹性计算 数据管理
便宜云服务器对象存储OSS收费标准:存储、流量和请求等多个计费项详解
便宜云服务器对象存储OSS提供多样化的计费模式,涵盖存储、流量、请求等多项费用。存储费用方面,按量付费标准型为0.09元/GB/月,包年包月则有9元40GB等多种选择。流量费用仅对公网出方向收费,价格区间从0.25至0.50元/GB不等,支持按量付费与流量包抵扣两种方式。更多详情及精准报价,欢迎访问便宜云服务器OSS官方页面。
1895 1
|
2月前
|
存储 Java API
开源对象存储服务(MinIO),正在备受欢迎!
本文介绍了MinIO,一个高性能、开源的对象存储服务器,兼容Amazon S3 API,适合存储大量非结构化数据。文章详细讲解了MinIO在Java中的使用方法,包括添加依赖、初始化客户端、基本操作(创建桶、上传/下载/删除对象)和高级功能(设置桶策略、使用预签名URL),并提供了Spring Boot集成MinIO的示例。
348 4
|
2月前
|
存储 弹性计算 数据管理
便宜云服务器对象存储OSS收费标准,存储、流量和请求等多个计费项
便宜云服务器对象存储OSS提供按量付费与包年包月两种计费方式,涵盖存储、流量、请求等费用。标准存储按量付费0.09元/GB/月,包年包月40GB起售,价格9元/年。公网流量出方向收费,内网及上传免费。具体费用视使用情况而定,详情见官网。
486 0
|
4月前
|
存储 监控 数据可视化
SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
【9月更文挑战第2天】SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
209 9
|
5月前
|
存储 Java 关系型数据库
实时计算 Flink版产品使用问题之以jar包方式同步数据是否需要定义存储oss的位置
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
6月前
|
机器学习/深度学习 人工智能 专有云
人工智能平台PAI使用问题之怎么将DLC的数据写入到另一个便宜云服务器主账号的OSS中
便宜云服务器人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
2月前
|
分布式计算 Java 开发工具
便宜云服务器MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
5月前
|
存储 机器学习/深度学习 弹性计算
便宜云服务器EMR数据湖文件系统问题之OSS-HDFS全托管服务的问题如何解决
便宜云服务器EMR数据湖文件系统问题之OSS-HDFS全托管服务的问题如何解决
|
6月前
|
消息中间件 分布式计算 DataWorks
DataWorks产品使用合集之如何使用Python和便宜云服务器SDK读取OSS中的文件
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
http://www.vxiaotou.com