这个作业属于哪个课程 | 2301-计算机学院-软件工程社区-CSDN社区云 |
---|---|
这个作业要求在哪里 | 团队作业——站立式会议+alpha冲刺-CSDN社区 |
这个作业的目标 | 记录alpha冲刺Day6 |
团队名称 | 熬夜会秃头 |
团队置顶集合随笔链接 | Alpha 冲刺随笔置顶(熬夜会秃头团队)-CSDN博客 |
目录
一、团队成员站立式会议总结
组员 | 昨天站立式会议到现在的进展 | 存在的问题/遇到的困难 | 今天到明天会议的安排 | 心得体会 |
陈少桐 | 学习uni.reques和uni.getStorageSync并且阅读接口文档,初步编写登陆注册的请求 | post请求发不出去,node.js服务中打印的请求参数是[object Object],于是我又试了其他请求头,直到试到'content-type': 'application/json;charset:utf-8',至此问题解决 | 实现登录注册的业务要求 | uniapp自带的请求方法比原生js的更加简单并且编写的时候更有效率,并且在他的开发社区有很多对bug的解决方案,能尽快解决存在的问题。 |
梁菲汎 | 实现了各个页面的跳转 | 无 | 实现子窗体 | 首先需要对按钮绑定一个函数,然后在函数里进行页面路由的改变。 这里要确保项目中已经在使用vue-router。 |
陈知菲 | 编写接口文档以及 实现调用qq邮箱接口发送验证码功能、使用验证码注册功能、获取用户信息功能 | 无 | 实现查看桶列表和桶权限的接口 | 了解了调用外部接口为项目新增新功能的方法,对ApiFox的使用、团队的创建、接口文档的编写有了新的认识 |
李恒欣 | 完善后端代码功能 | 不同的技术栈有不同的优缺点,需要根据项目的实际需求和技术团队的技术背景来选择合适的技术 | 继续完善后端代码功能 | 在项目开发过程中,要善于总结经验教训,不断优化自己的开发流程和方法。 |
邱思源 | 对已完成的后端代码进行单元测试 | 无 | 对新实现的后端代码进行单元测试 | 在进行单元测试时,需要使用断言来验证代码的执行结果是否符合预期。断言可以帮助我们快速发现代码中的问题,提高测试效率。 |
宋芳鑫 | 学习前端Vue Router相关知识,尝试完善前端功能 | 在使用Vue Router的过程中遇到路由重复匹配 | 继续完善前端功能 | 学习Vue Router需要有一定的前端基础,特别是对Vue.js的理解和使用。只有掌握了Vue.js的基本概念和语法,才能更好地理解和使用Vue Router。 |
张一凡 | 对已经开发的前端代码进行单元测试 | 前端代码中可能存在多个组件共享状态的情况,如使用Vuex进行状态管理,这使得测试变得复杂 | 对新实现的前端代码进行单元测试 | 需要确保在测试过程中各个组件的状态保持一致。 |
林承桢 | 进行已完成模块的功能测试,将完成的测试结果写入测试文档 | 执行功能测试有时会遇到性能瓶颈 | 继续进行功能测试,完善测试文档 | 需要在测试过程中保持与开发团队的紧密沟通,及时反馈问题并寻求解决方案。 |
黄才栋 | 巩固vue相关知识,尝试完善前端代码 | 随着项目规模的扩大,可能需要使用状态管理工具(如Vuex)来管理应用程序的状态 | 继续完善前端代码 | 需要了解Vuex的基本概念和使用方法,如State、Getters、Mutations、Actions等。 |
谢怀广 | 核对已完成代码规范并制作项目燃尽图 | 多线程的代码容易出现同步和多线程问题 | 核对新增代码规范并制作项目燃尽图 | 应该使用notify ()而不是notifyAll ()等。 |
二、今日成果展示
页面跳转:
export default {
name :'login',
setup()
{
...
const jump = () =>{
router.push({path:'/register'})
}
return {jump}
}
}
调用qq邮箱接口发送验证码
@Data
@Component
public class EmailUtil {
private static JavaMailSender javaMailSender;
@Autowired
public void setJavaMailSender(JavaMailSender javaMailSender) {
EmailUtil.javaMailSender = javaMailSender;
}
public static void send(Email mail) {
SimpleMailMessage message = new SimpleMailMessage();
message.setSubject(mail.getSubject());
message.setText(mail.getText());
message.setFrom(mail.getFrom());
message.setTo(mail.getTo());
javaMailSender.send(message);
}
}
在redis中保存
@Override
public ResponseResult sendMail(String email) {
String code = UUID.randomUUID().toString();
Email mail = new Email(from, email, null, code);
if (userMapper.getUserByName(email) != null) {
return new ResponseResult(200, "用户已存在");
}
mail.setSubject("注册邮件:请复制以下验证码(30分钟内有效)\n");
redisUtil.setCacheObject(mail.getTo(), code, 30, TimeUnit.MINUTES);
EmailUtil.send(mail);
return new ResponseResult(200, "邮件发送成功");
}
}
注册接口、获取用户信息接口
@PostMapping("/register")
public ResponseResult register(@RequestParam String userEmail,
@RequestParam String password,
@RequestParam(required = false) Integer type,
@RequestParam String code) {
User user = new User();
user.setUserEmail(userEmail);
user.setPassword(password);
user.setType(type);
return userService.register(user, code);
}
@GetMapping("/get_user_info")
public ResponseResult getUserInfo(@RequestHeader String userEmail,
@RequestHeader String nickName,
@RequestHeader String phoneNumber,
@RequestHeader String picture) {
Map<String ,String> userInfo = new HashMap<>();
userInfo.put("userEmail",userEmail);
userInfo.put("nickName",nickName);
userInfo.put("phoneNumber",phoneNumber);
userInfo.put("picture",picture);
return new ResponseResult(200,"获取用户信息",userInfo);
}