当前位置: 首页 > news >正文

怎样做网站不花钱搜索引擎推广文案

怎样做网站不花钱,搜索引擎推广文案,网络建设与维护公司,做网站能月入10万0.前情提要 之前的po已经说了单独的邮箱验证码发送功能怎么实现: https://blog.csdn.net/qq_61551948/article/details/142641495 这篇说下如何把该功能整合到瑞吉项目里面,也就是把原先项目里的短信发送验证码的功能改掉,改为邮箱发送验证…

0.前情提要

之前的po已经说了单独的邮箱验证码发送功能怎么实现:
https://blog.csdn.net/qq_61551948/article/details/142641495

这篇说下如何把该功能整合到瑞吉项目里面,也就是把原先项目里的短信发送验证码的功能改掉,改为邮箱发送验证码的功能。

当然首先得跟着教程从头到尾做到这块功能时才行,并且已经将数据模型User导入了进来,添加了UserController、UserService和UserServiceImpl,添加了Filter中一部分代码。

基于以上,实现本文的操作。 (当然不做这个项目参考一下也odkkkk)

1.后端代码实现

【和教程中所有代码都放在controller层不一样(看着很臃肿),我是具体实现细节就放在impl实现类里了】

1.1发送邮箱验证码的整体功能

controller层

/*** 发送邮箱验证码模拟短信验证码* @param user* @return*/
@PostMapping("sendEmail")
public R<String> sendEmail(@RequestBody User user) {return userService.sendEmail(user);
}

service层

R<String> sendEmail(User user);

serviceImpl层

@Resource
private JavaMailSender javaMailSender;
//读取yml文件中username的值并赋值给from
@Value("${spring.mail.username}")
private String from;
// 用于存储验证码,键为邮箱,值为验证码 【也可以用session保存试试】
private Map<String, String> verificationCodeMap = new HashMap<>();@Override
public R<String> sendEmail(User user) {if(user.getPhone() != null){// 构建一个邮件对象SimpleMailMessage message = new SimpleMailMessage();// 设置邮件发送者message.setFrom(from);// 设置邮件接收者message.setTo(user.getPhone());// 设置邮件的主题message.setSubject("登录验证码");// 设置邮件的正文Random random = new Random();StringBuilder code = new StringBuilder();for (int i = 0; i < 6; i++) {int r = random.nextInt(10);code.append(r);}String text = "您的验证码为:" + code;// 存储验证码log.info("验证码:{}",text);verificationCodeMap.put(user.getPhone(), code.toString());// 设置邮件的正文message.setText(text);// 发送邮件try {javaMailSender.send(message);return R.success("发送成功!");} catch (MailException e) {e.printStackTrace();}return R.error("发送失败");}return R.error("邮箱为空!");
}

1.2接收并校验验证码整体功能

controller层

/*** 登录功能* @param user* @return*/
@PostMapping("login")
public R<String> verifyCode(@RequestBody Map user, HttpSession session) {return userService.login(user,session);
}

service层

R<String> login(Map user, HttpSession session);

serviceImpl层

//判断验证码是否正确+判断是否注册过,没注册需要在登录时自动注册
@Override
public R<String> login(Map user, HttpSession session) { //Map存的值是Object类型,需要toString一下// 获取已存储的验证码String storedCode = verificationCodeMap.get(user.get("phone").toString());// 检查验证码是否存在&&检查用户输入的验证码是否正确if (storedCode != null && storedCode.equals(user.get("code").toString())) {//验证成功//判断该用户是否存在,如果不存在的话,顺便注册LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();queryWrapper.eq(User::getPhone,user.get("phone").toString());User user1 = this.getOne(queryWrapper);if(user1 == null){ //用户不存在,需要注册user1 = new User();user1.setPhone(user.get("phone").toString());user1.setStatus(1);this.save(user1);}session.setAttribute("user",user1.getId()); //在session中存入user的id(让过滤器放行)// 清除验证码以防止重复使用verificationCodeMap.remove(user.get("phone"));return R.success("验证成功");} else {return R.error("验证失败,验证码不正确");}
}

2.部分前端代码修改

打开下图所示的login.html文件
在这里插入图片描述

60行左右,原先用来判断手机号的正则表达式改为判断qq邮箱的正则表达式
在这里插入图片描述

const regex = /^[1-9][0-9]{4,10}@qq\.com$/;

再打开下图所示的文件
在这里插入图片描述

修改原文件的发送邮箱验证码的接口url以及登录的接口url,改为自己刚才实现的方法的接口url。
在这里插入图片描述

3.结果展示

发送验证码
在这里插入图片描述

收到验证码
在这里插入图片描述
输入错误验证码
在这里插入图片描述

输入正确验证码之后进入页面
在这里插入图片描述

撒花!!!!

http://www.wooajung.com/news/21973.html

相关文章:

  • 能够做代理的网站有哪些重庆seo整站优化效果
  • 做淘宝有没有店小秘类型的网站短视频营销的特点
  • 小制作小灯笼seo网站优化培训公司
  • 企业外贸网站推广免费的个人网页
  • 主机做网站企业培训有哪些方面
  • 聊城做手机网站企业网站优化哪家好
  • 网站域名有了 网站如何建设新媒体运营需要哪些技能
  • 高端网站设计定制公司推广竞价托管公司
  • 招聘海报制作软件app免费谷歌广告优化师
  • 自己做捕鱼网站能不能挣钱贵阳网络推广排名
  • 药类网站整站模板下载广告优化
  • 湖南省政府网站建设及信息公开线上营销模式
  • 网站建设与管理期末总结合肥seo网站排名优化公司
  • 网站设计建网站怎么创作自己的网站
  • vps如何放置网站新冠疫情最新消息今天公布
  • 有网站吗给一个app优化排名
  • 山东网站建设比较好网站怎么优化
  • b2b外贸网站建设案例深圳广告投放公司
  • 做门的网站免费网址注册
  • 九江建网站公司有哪些绍兴网站快速排名优化
  • 如何做公众号小说网站赚钱东莞搜索引擎推广
  • 网络服务器与网站建设vivo应用商店
  • 厦门 网站建设 公司今天发生的重大新闻事件
  • 义乌网站广州推广服务
  • 网站建设日程表云优客seo排名公司
  • 谁有做开档棉裤的网站啊搜索最多的关键词的排名
  • 上海网站建设费用多少百度云官网登录入口
  • 商贸办公网站入口哈尔滨网站制作软件
  • 重庆中国建设银行招聘信息网站网站友链交换平台
  • 内网怎么做网站服务器投放广告的渠道有哪些