第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

【金秋打卡】第6天 Node.js+Koa2+MySQL打造前后端分離精品項目《舊島》

课程章节: 【构建用户身份系统】通用用户系统与小程序用户系统

课程讲师: 7七月

课程内容:

用户注册与Sequelize新增数据

model 操作数据库
api/v1/user.js

const User = require(models/user.js)

const v = await new RegisterValidator().validate(ctx)
const user = {
	email: v.get('body.email'),
	password: v.get('body.password2'),
	nickname: v.get('body.nickname')
}
try{
	const r = User.create(user) // 创建我一个 user 的表 返回 user 模型
}catch(error){
	throw new ParameterException('email不能重复')
}

models/user.js

// email 保证唯一性
email: {
	type: Sequelize.STRING(128),
	unique: true 
}

validators/validator.js

// 查询email是否唯一
async validateEmail(vals) {
	const email = await vals.body.email
	User.findOne({
	   where: {
			email
       }
    })
    // email如果存在
    if(user) {
		throw new Error('email已存在')
    }
}

把lin-validator.js 改成 第二版

盐与密码加密的小知识

password 绝对不能已明文的形式保存在数据库中, 必须加密

npm install jsonwebtoken

在 api/v1/user.js

const bcrypt = require('bcryptjs')

// 不是位数, 生成盐花费的成本  更高 安全性更高
const salt = bcrypt.genSaltSync(10) // 盐
// 如果两个用户密码相同, 加密后的密文不会相同 这就是盐的作用, 防止彩虹攻击
const pwd = bcrypt.hashSync(v.get('body.password2'),salt) // 加密
// 直接使用加密过后的密码

模型的 set 操作

models/user.js

password: {
	type: Sequelize.STRING,
	set(val){
      const salt = bcrypt.genSaltSync(10) // 盐
      const pwd = bcrypt.hashSync(val,salt) // 加密
      this.setDataValue('password',pwd) // model模型里的方法  可以访问 this
    }
}
在模型中实现对 password 的加密 就不需要在接口中实现啦
只要 password 进行赋值 就会调用set

Success 操作成功处理

在core/http-exception.js

class Success extends HttpException {
	constructor(msg, errorCode) {
		super()
		this.code = 201
		this.msg = msg || 'ok'
		this.errorCode = errorCode || 0
    }
}

在api/v1/user.js

throw new global.errs.Success()

课程收货

了解了加密小知识

點擊查看更多內(nèi)容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學(xué)

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消