交友项目【完善用户信息&上传用户头像】功能跳转首页

这篇具有很好参考价值的文章主要介绍了交友项目【完善用户信息&上传用户头像】功能跳转首页。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1:保存用户信息

1.1:接口地址

1.2:流程分析

1.3:代码实现

2.4: 测试

2:上传用户头像

2.1:接口地址

2.2:流程分析

2.3:代码实现

2.4:测试


1:保存用户信息

在进行完手机号码校验完毕之后,我们会进入完善用户信息页面

交友项目【完善用户信息&上传用户头像】功能跳转首页

 文章来源地址https://www.toymoban.com/news/detail-411133.html

1.1:接口地址

启动虚拟机:首次登录---完善资料

http://192.168.136.160:3000/project/19/interface/api/88

交友项目【完善用户信息&上传用户头像】功能跳转首页

 交友项目【完善用户信息&上传用户头像】功能跳转首页

 

1.2:流程分析

保存信息到用户基本资料表(tb_user_info)交友项目【完善用户信息&上传用户头像】功能跳转首页

 用户表(tb_user) 和 用户信息表(tb_user_info) 是一对一的关系,两者采用主键关联的形式配置

交友项目【完善用户信息&上传用户头像】功能跳转首页

1.3:代码实现

与手机端交互的入口模块:tanhua-app-server

交友项目【完善用户信息&上传用户头像】功能跳转首页

 Controller层:将token中存储的用户信息解构出来获取当前用户的id

    @PostMapping("/loginReginfo")
    public ResponseEntity loginReginfo(@RequestBody UserInfo userInfo , @RequestHeader("Authorization") String token){
        System.out.println(userInfo);
        boolean flag = JwtUtils.verifyToken(token);
        if (!flag){
            return ResponseEntity.status(401).body(null);
        }
        Claims claims = JwtUtils.getClaims(token);
        Long id = Long.valueOf(claims.get("id").toString());
        userInfo.setId(id);
        userInfoService.adduserinfo(userInfo);
        return ResponseEntity.ok(null);
    }

Service层:调用接口模块,中的接口,接口模块的实现类在Dubbo提供者模块

    private UserInfoApi userInfoApi;
    public void adduserinfo(UserInfo userInfo) {
        userInfoApi.adduserInfo(userInfo);
    }

 接口模块:

交友项目【完善用户信息&上传用户头像】功能跳转首页

/**
 * @Author 爱吃豆的土豆、
 * @Date 2023/4/3 9:37
 */
public interface UserInfoApi {
    public void adduserInfo(UserInfo userInfo);

    public void update(UserInfo userInfo);
}

 dubbo模块提供者:

/**
 * @Author 爱吃豆的土豆、
 * @Date 2023/4/3 9:03
 */
@DubboService
public class UserInfoApilmpl implements UserInfoApi {
    @Resource
    private UserInfoMapper userInfoMapper;
    @Override
    public void adduserInfo(UserInfo userInfo) {
        System.out.println(userInfo);
        int insert = userInfoMapper.insert(userInfo);
        System.out.println(insert);
    }
}

2.4: 测试

点击从相册选择可以跳转打开文件即可:测试成功

交友项目【完善用户信息&上传用户头像】功能跳转首页

 

2:上传用户头像

交友项目【完善用户信息&上传用户头像】功能跳转首页 

选择图片:

交友项目【完善用户信息&上传用户头像】功能跳转首页

 电脑图片上传位置:

交友项目【完善用户信息&上传用户头像】功能跳转首页

 

2.1:接口地址

交友项目【完善用户信息&上传用户头像】功能跳转首页

 接口地址:http://192.168.136.160:3000/project/19/interface/api/91

 上传用户头像-接口文档交友项目【完善用户信息&上传用户头像】功能跳转首页

 

2.2:流程分析

交友项目【完善用户信息&上传用户头像】功能跳转首页

 

2.3:代码实现

与手机端交互的入口模块:tanhua-app-server

交友项目【完善用户信息&上传用户头像】功能跳转首页

LoginController层:

/**
 * @Author 爱吃豆的土豆、
 * @Date 2023/3/29 19:52
 */
@RestController
@RequestMapping("/user")
public class LoginController {
    @Resource
    private UserService userService;

    @Resource
    private UserInfoService userInfoService;

    /**
     * 完善信息的头像信息
     * @param headPhoto
     * @param token
     * @return
     */
    @PostMapping("/loginReginfo/head")
    public ResponseEntity head( MultipartFile headPhoto, @RequestHeader("Authorization") String token){
        //获得用户id
        boolean verifyToken = JwtUtils.verifyToken(token);

        if (!verifyToken){
            return ResponseEntity.status(401).body(null);
        }
        Claims claims = JwtUtils.getClaims(token);
        Long id = Long.valueOf(claims.get("id").toString());
        userInfoService.uploadHead(headPhoto,id);
        return ResponseEntity.ok(null);
    }
}

 Service层:

/**
 * @Author 爱吃豆的土豆、
 * @Date 2023/4/3 9:41
 */
@Service
public class UserInfoService {
    @Resource
    private OssTemplate ossTemplate;
    @Resource
    private FaceTemplate faceTemplate;
    @DubboReference
    private UserInfoApi userInfoApi;

    public void uploadHead(MultipartFile headphoto, Long id) {
        String imageUrl = ossTemplate.upload(headphoto);

        boolean flag = faceTemplate.FaceUtils(imageUrl);
        if (!flag){
            throw new RuntimeException("不包含人脸");
        }
        UserInfo userInfo = new UserInfo();
        userInfo.setId(id);
        userInfo.setAvatar(imageUrl);
        userInfoApi.update(userInfo);
    }
}

接口模块:

交友项目【完善用户信息&上传用户头像】功能跳转首页 

  dubbo模块提供者:

/**
 * @Author 爱吃豆的土豆、
 * @Date 2023/4/3 9:03
 */
@DubboService
public class UserInfoApilmpl implements UserInfoApi {
    @Resource
    private UserInfoMapper userInfoMapper;
    @Override
    public void update(UserInfo userInfo) {
        int i = userInfoMapper.updateById(userInfo);
    }
}

2.4:测试

上传图片识别:

交友项目【完善用户信息&上传用户头像】功能跳转首页

 审核结果:

交友项目【完善用户信息&上传用户头像】功能跳转首页

 测试成功页面:

交友项目【完善用户信息&上传用户头像】功能跳转首页

 

到了这里,关于交友项目【完善用户信息&上传用户头像】功能跳转首页的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包