SpringBoot3+Vue3前后端分离的Java快速开发框架(Harry技术)0110新增功能以及改动
基于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
前端:
觉着有帮助,给个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.10</minio.version>
<!-- MinIO 对象存储 -->
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>${minio.version}</version>
</dependency>
阿里云OSS依赖
<aliyun.oss.version>3.17.4</aliyun.oss.version>
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<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.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</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);
完善个人中心
修改文件内容
总结
本次更新主要包含以下内容:
- 端口修改:为避免与Minio存储服务冲突,后端启动端口从9000改为9999。
- 添加存储支持:集成Minio和阿里云OSS对象存储服务,详细配置请参考相关文档。
- 短信服务:接入阿里云短信服务,并增加模拟发送功能,方便本地测试。
- 邮件发送:引入邮件发送功能,支持简单文本邮件和带附件邮件。
- 完善个人中心:优化个人中心页面,提升用户体验。
注意事项:
- 确保本地安装Redis、MySQL等。
- 检查前端
.env.development
文件中Mock服务是否设置为false
,以加载后台接口。