Tomato——alpha冲刺Day2

托码头小队 团队 2024-05-06 23:09:09
这个作业属于哪个课程<2302软件工程社区>
这个作业要求在哪里团队作业——alpha冲刺
这个作业的目标冲刺记录
团队名称托码头小队
团队项目Tomato时间管理小程序
其他参考文献《构建之法》

目录

  • 一、站立式会议照片
  • 二、项目燃尽图
  • 三、成员描述
  • 四、项目展示

一、站立式会议照片

img

二、项目燃尽图

img

三、成员描述

人员描述
222100224林然鹏今日情况:修改完善项目架构;实现文件上传接口;学习微信小程序登录相关业务。
明日安排:完善小程序登录,实现头像上传;实现部分论坛有关接口。
感想:解决项目依赖版本冲突花时间、微信小程序登录需要多查阅文档并了解前端实现过程便于整体理解,方便后端开发。
222100225林璞今日进展:完成社交模块查询关注列表
遇到的困难:mybatisplus使用还是不够熟练
今天到明天站立会议的安排:继续完成自己任务安排的部分接口
心得体会:进一步掌握对mybatisplus的使用
222100226欧景天今日进展:初步实现登录部分
遇到的困难:对微信的函数不熟悉,和登录的流程不熟悉
今天到明天站立会议的安排:继续实现登录功能
心得体会: 对小程序的登录流程有更深的理解
222100232熊铃锋今日进展:完成第二日的冲刺随笔
遇到的困难:小队成员时间安排不统一,需要寻找合适的会议时间
今天到明天站立会议的安排:完成第三日的冲刺随笔
心得体会:加深了解冲刺规划的重要性
222100235黄烨琳今日进展:编写删除事务
遇到的困难:久坐压迫到身体右半边神经躺了
今天到明天站立会议的安排:完成修改事务
心得体会:写代码要注意姿势
222100327赵振廷今日进展:完成“点赞内容”
遇到的困难:对函数的应用不熟练
今天到明天站立会议的安排:完成页面之间的互传
心得体会:团队合作十分重要
222100329衷进之今日进展:完成了“关注”按钮的实现
遇到的困难:对页面请求求参数不熟悉
今天到明天站立会议的安排:完成“关注”内容
心得体会:对页面求参的学习有待深入
052106112林黄骁今日进展:学习了微信认证登录的方式
遇到的困难:认证方式相较传统登录更加复杂
现在到明天站立式会议的安排:将登录认证方式应用到项目中
心得体会:熟悉了微信登录方式的使用技巧,对微信小程序的理解更进一步

四、项目展示

  • 开发成员代码签入记录
  • 前端截图

初步完成登录界面

img

  • 后端截图

img

img

img

  • 前端代码展示
login(){
    var that = this;
    wx.login({
      success (res) {
        if (res.code) {
          //发起网络请求
          wx.request({
            //url未定义
            url: 'https://example.com/onLogin',
            data: {
              code: res.code,
              avatarUrl: that.data.userInfo.avatarUrl,
              nickName: that.data.userInfo.nickName,
            },
            success(loginRes) {  
              if (loginRes.data.success) {  
                wx.setStorageSync('session_key', loginRes.data.session_key);  
                // 跳转到专注 
                wx.switchTab({  
                  url: '../focus/index/index'
                });  
              } else {  
                console.log('登录失败:', loginRes.data.errMsg);  
              }  
            },  
            fail(error) {    
              console.error('网络请求失败:', error);  
            }  
          })
          console.log(res.code)
          
        } else {
          console.log('登录失败!' + res.errMsg)
        }
      }
    })
  },
  • 后端代码展示
@Autowired
    UserService userService;
    @Value("${tomato.upload-path}")
    private String uploadPath;

    @PostMapping("/upload")
    @ApiOperation("文件上传")
    public Result<String> upload(@RequestParam("files")/*List<*/MultipartFile avator) {
//        if (avators==null) {
//            throw new BaseException("未上传任何文件");
//        }
        System.out.println("文件保存地址:" + uploadPath);
//        for (MultipartFile avator : avators) {
            //获取 原始文件名
            String originalFileName = avator.getOriginalFilename();
            System.out.println("原始文件名:" + originalFileName);
            //判断文件名是否有值 没有则抛出异常中断程序执行
            if (originalFileName == null) {
                throw new BaseException("未上传任何文件");
            }
            //使用UUID通用唯一识别码 + 后缀名的形式
            //设置唯一文件路径 防止文件名重复 出现覆盖的情况
            String fileName = UUID.randomUUID() + originalFileName.substring(originalFileName.lastIndexOf("."));
            System.out.println("唯一文件名:" + fileName);
            // 指定文件保存的路径
            String filePath = uploadPath + File.separator + fileName;
            boolean uploadPhoto = false;
            //用户未登录
            if (BaseContext.getCurrentId() == null || BaseContext.getCurrentId() == 0) {
                User user = new User();
                user.setAvatar(fileName);
                user.setUsername("null");
                user.setGender(1L);
                user.setMajor("null");
                user.setPassword("123456");
                user.setStatus(1L);
                user.setPhone("null");
                user.setOpenId("null");
                uploadPhoto = userService.save(user);
            }
            //用户已登录
            else {
                User user = userService.getById(BaseContext.getCurrentId());
                user.setAvatar(fileName);
                uploadPhoto = userService.updateById(user);
            }
            //图片路径保存到数据库表成功之后执行  将图片放入对应路径
            if (uploadPhoto) {
                //根据上传路径创建文件夹File对象
                File saveAddress = new File(uploadPath);
                if (!saveAddress.exists()) {
                    saveAddress.mkdirs();// 如果文件夹不存在 创建保存文件对应的文件夹
                }
                // 将上传的文件保存到指定路径
                try {
                    avator.transferTo(new File(filePath));
                } catch (IOException e) {
                    throw new BaseException("文件保存失败!");
                }
                return Result.success();
            }
//        }
        return Result.error("文件上传错误!");
    }
}
...全文
133 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

122

社区成员

发帖
与我相关
我的任务
社区描述
FZU-SE
软件工程 高校
社区管理员
  • LinQF39
  • 助教-吴可仪
  • 一杯时间
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧