const Router = require('koa-router'); const router = new Router(); // import tools const crypto = require('../../libs/crypto.js'); const so = require('../../libs/storeObject'); router .post('/login', async(c, n) => { let arr = c.request.body; if (!arr.data) return c.body = 'ERR0000'; if (!arr.data.account) return c.body = 'ERR0001'; if (!arr.data.password) return c.body = 'ERR0002'; try { let user = await c.syncQuery('select `uid`,`account`,`password`,`name`,`email` from ??.?? where `account` = ?', ['lora', 'user', arr.data.account]) if (user.length == 0) return c.body = 'user not exists'; if (!crypto.comparePass(arr.data.password, user[0].password)) return c.body = 'password not match'; delete user[0].password; c.body = { record: user } } catch (err) { return c.body = 'DB Query Error'; } let u = c.body.record[0]; let uuid = null; while (true) { uuid = crypto.random(10); if (!so.chkKey(uuid)) { break; } } so.set(uuid, u); }) module.exports = router;