|
|
@@ -1,9 +1,10 @@
|
|
|
const API = require("../../../lib/API")
|
|
|
const axios = require('axios')
|
|
|
const { v4: uuidv4 } = require('uuid')
|
|
|
+const UAParser = require('ua-parser-js')
|
|
|
const db = require("../../../plugin/DataBase/db")
|
|
|
const config = require('../../../config.json')
|
|
|
-const { BaseStdResponse } = require("../../../BaseStdResponse");
|
|
|
+const { BaseStdResponse } = require("../../../BaseStdResponse")
|
|
|
|
|
|
class Login extends API {
|
|
|
constructor() {
|
|
|
@@ -41,7 +42,7 @@ class Login extends API {
|
|
|
const session = uuidv4()
|
|
|
const time = new Date().getTime()
|
|
|
|
|
|
- let selectSql = 'SELECT uuid, permission FROM users WHERE social_uid = ? AND social_type = ?'
|
|
|
+ let selectSql = 'SELECT uuid, username, permission FROM users WHERE social_uid = ? AND social_type = ?'
|
|
|
let selectRows = await db.query(selectSql, [social_uid, type || 'qq'])
|
|
|
|
|
|
let uuid, username, permission
|
|
|
@@ -73,9 +74,9 @@ class Login extends API {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
+ uuid = selectRows[0].uuid
|
|
|
username = selectRows[0].username
|
|
|
permission = selectRows[0].permission
|
|
|
-
|
|
|
}
|
|
|
|
|
|
res.json({
|
|
|
@@ -92,8 +93,15 @@ class Login extends API {
|
|
|
})
|
|
|
|
|
|
// 增加登录记录
|
|
|
-
|
|
|
-
|
|
|
+ try {
|
|
|
+ const userAgent = req.headers['user-agent']
|
|
|
+ const parser = new UAParser(userAgent)
|
|
|
+ const uaResult = parser.getResult()
|
|
|
+ let insertSql = 'INSERT INTO login_history (uuid, time, deviceInfo, type, ip) VALUES (?, ?, ?, ?, ?)'
|
|
|
+ await db.query(insertSql, [uuid, time, uaResult, type || 'qq', ip])
|
|
|
+ } catch (error) {
|
|
|
+ this.logger.error(`写入登录记录失败!${error}`)
|
|
|
+ }
|
|
|
} catch (error) {
|
|
|
this.logger.error(`获取用户信息失败!${error.message || 'api接口错误'}`)
|
|
|
return res.json({
|