'use strict'; const Hex = require('crypto-js/enc-hex'); const MD5 = require('crypto-js/md5'); const moment = require('moment'); const uuid = require('uuid'); async function login (ctx, next) { // const transaction = await ctx.fs.dc.orm.transaction(); try { const models = ctx.fs.dc.models; const params = ctx.request.body; const emisLoginRes = await ctx.app.fs.emisRequest.post('login', { data: params }) if (!emisLoginRes) { throw "账号或密码错误" } else { const pomsRegisterRes = await models.User.findOne({ where: { pepUserId: emisLoginRes.id } }) if (!pomsRegisterRes) { throw '当前账号尚未在此系统启用' } emisLoginRes.pomsUserInfo = pomsRegisterRes.dataValues await models.User.update({ lastInTime: moment().format(), inTimes: pomsRegisterRes.inTimes + 1 }, { where: { id: emisLoginRes.id } }) ctx.status = 200; ctx.body = emisLoginRes; } // await transaction.commit(); } catch (error) { // await transaction.rollback(); ctx.fs.logger.error(`path: ${ctx.path}, error: ${error}`); ctx.status = 400; ctx.body = { message: typeof error == 'string' ? error : error.response.body.message || "登录失败" } } } async function logout (ctx) { try { const models = ctx.fs.dc.models; const params = ctx.request.body; await ctx.app.fs.emisRequest.put('logout', { data: params }) ctx.status = 204; } catch (error) { ctx.fs.logger.error(`path: ${ctx.path}, error: ${error}`); ctx.status = 400; ctx.body = { } } } module.exports = { login, logout, };