/* * @Author: 尹鹏孝 * @Date: 2021-08-30 10:58:19 * @LastEditTime: 2021-09-03 16:36:32 * @LastEditors: Please set LastEditors * @Description: 用户接口 * @FilePath: \koa2-test-api\src\routes\api\users.js */ const { login, registry, findUser } = require("../../controller/user.js"); const router = require('koa-router')() const { generateToken } = require('../../utils/utils.js'); const auth = require("../../middleWares/auth.js"); const { set } = require('../../cache/_redis.js'); //用户名密码加密解密 const { enCrypto, deCrypto } = require('../../utils/crypto.js'); router.prefix('/api/users') router.post('/login', async (ctx, next) => { const { user_name, password } = ctx.request.body; const result = await login({ user_name, password: enCrypto(password) }); if (result.user_name) { /** * 生成token * **/ let token = generateToken(result.id, result.scope, result.user_name) return ctx.body = new global.errs.Success(token); } else { return ctx.body = new global.errs.NotFound(result.msg); } }) //获取用户基本信息 router.get('/userInfo', new auth().m, async (ctx, next) => { if (ctx.body.user_name) { return ctx.body = new global.errs.Success(ctx.body); } return ctx.body = new global.errs.AuthFailed(); }); router.post('/register', async (ctx, next) => { console.log('输出请求数据:', ctx.request.body); const { user_name, password, scope } = ctx.request.body; let newUser = await registry({ user_name, password: enCrypto(password), scope }); console.log(newUser); if (newUser.errorCode == 200) { return ctx.body = new global.errs.Success(newUser); } else { return ctx.body = new global.errs.CreateUserFailed(newUser); } }); router.post('/setting', new auth().m, async (ctx, next) => { const { user_name, password } = ctx.request.body; set(user_name, ''); let newUser = await findUser({ user_name, password: enCrypto(password) }); console.log('当前用户', newUser); if (newUser.errorCode == 200) { return ctx.body = new global.errs.Success(newUser); } else { return ctx.body = new global.errs.CreateUserFailed(newUser); } }); module.exports = router