美文网首页
(五)Node接口搭建——使用全球公认头像gravatar

(五)Node接口搭建——使用全球公认头像gravatar

作者: 彼得朱 | 来源:发表于2019-07-08 16:18 被阅读0次

本节主要内容:头像处理

前提:在https://en.gravatar.com/注册账号,然后上传头像,裁剪选择pg格式,因为后面用到的是pg格式。

1、使用第三方,gravatar

  • 安装 npm i gravatar

  • 引入 const grvatar = require('gravatar'); 在routes/api/users.js里面

  • 修改register接口

// $route POST api/users/register
// @desc 返回的请求json数据
// @access public
router.post("/register", (req, res) => {
    // console.log(req.body);
    // 查询数据库中是否拥有邮箱
    User.findOne({
            email: req.body.email
        })
        .then((user) => {
            if (user) {
                return res.status(400).json({
                    email: "邮箱已被占用"
                })
            } else {
                const avatar = grvatar.url(req.body.email,{s:'200',r:'pg',d:'mm'});
                 

                const newUser = new User({
                    name: req.body.name,
                    email: req.body.email,
                    password: req.body.password,
                    avatar
                })
                //密码加密  需npm install bcrypt
                bcrypt.genSalt(10, function (err, salt) {
                    bcrypt.hash(newUser.password, salt, function (err, hash) {
                        //store hash in your password DB.
                        if (err) {
                            throw err;
                        }
                        newUser.password = hash;
                        newUser.save()
                            .then(user => res.json(user))
                            .catch(err => console.log(err));
                    });
                });
            }
        })



})
  • postman中测试

使用gravatar中的注册邮箱,点击链接地址将会得到自己在gravatar中上传的头像。

测试
测试

相关文章

网友评论

      本文标题:(五)Node接口搭建——使用全球公认头像gravatar

      本文链接:https://www.haomeiwen.com/subject/ephahctx.html