On this page
用户注册
控制器:app/controller/api/user.js
js
// 引入模块
const crypto = require('crypto');
// 注册
async reg() {
let { ctx, app } = this;
// 参数验证
ctx.validate({
username: {
type: 'string',
required: true,
range: {
min: 5,
max: 20
},
desc: '用户名'
},
password: {
type: 'string',
required: true,
desc: '密码'
},
repassword: {
type: 'string',
required: true,
desc: '确认密码'
}
}, {
equals: [
['password', 'repassword']
]
});
let { username, password } = ctx.request.body;
// 验证用户是否已经存在
if (await app.model.User.findOne({
where: {
username,
}
})) {
ctx.throw(400, '用户名已存在');
}
// 创建用户
let user = await app.model.User.create({
username,
password
});
if (!user) {
ctx.throw(400, '创建用户失败');
}
ctx.apiSuccess(user);
}
路由:app/router.js
js
// 用户注册
router.post("/api/reg", controller.api.user.reg);