|
@@ -1,6 +1,6 @@
|
|
|
const API = require("../../../lib/API")
|
|
const API = require("../../../lib/API")
|
|
|
const { v4: uuidv4 } = require('uuid')
|
|
const { v4: uuidv4 } = require('uuid')
|
|
|
-const Redis = require('../../plugin/DataBase/Redis')
|
|
|
|
|
|
|
+const Redis = require('../../../plugin/DataBase/Redis')
|
|
|
const db = require("../../../plugin/DataBase/db")
|
|
const db = require("../../../plugin/DataBase/db")
|
|
|
const { BaseStdResponse } = require("../../../BaseStdResponse");
|
|
const { BaseStdResponse } = require("../../../BaseStdResponse");
|
|
|
|
|
|
|
@@ -46,7 +46,7 @@ class qqLoginStep2 extends API {
|
|
|
const session = uuidv4()
|
|
const session = uuidv4()
|
|
|
const time = new Date().getTime()
|
|
const time = new Date().getTime()
|
|
|
|
|
|
|
|
- let selectSql = 'SELECT username, permission, avatar FROM users WHERE email = ?'
|
|
|
|
|
|
|
+ let selectSql = 'SELECT uuid, username, permission, avatar FROM users WHERE email = ?'
|
|
|
let selectRows = await db.query(selectSql, [email])
|
|
let selectRows = await db.query(selectSql, [email])
|
|
|
|
|
|
|
|
let uuid, username, permission, avatar
|
|
let uuid, username, permission, avatar
|
|
@@ -79,6 +79,7 @@ class qqLoginStep2 extends API {
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ uuid = selectRows[0].uuid
|
|
|
avatar = selectRows[0].avatar
|
|
avatar = selectRows[0].avatar
|
|
|
username = selectRows[0].username
|
|
username = selectRows[0].username
|
|
|
permission = selectRows[0].permission
|
|
permission = selectRows[0].permission
|
|
@@ -95,10 +96,16 @@ class qqLoginStep2 extends API {
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
|
|
+ await Redis.del(`email:${email}`)
|
|
|
|
|
+
|
|
|
// 增加登录记录
|
|
// 增加登录记录
|
|
|
try {
|
|
try {
|
|
|
- const ip = req.headers['x-forwarded-for']?.split(',')[0].trim() || req.connection.remoteAddress
|
|
|
|
|
- let insertSql = 'INSERT INTO login_history (uuid, time, location, deviceInfo, type, ip)'
|
|
|
|
|
|
|
+ let ip = req.headers['x-forwarded-for']?.split(',')[0].trim() || req.connection.remoteAddress
|
|
|
|
|
+ if (ip.startsWith('::ffff:')) {
|
|
|
|
|
+ ip = ip.replace('::ffff:', '');
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ let insertSql = 'INSERT INTO login_history (uuid, time, location, deviceInfo, type, ip) VALUES (?, ?, ?, ?, ?, ?)'
|
|
|
await db.query(insertSql, [uuid, time, location, deviceInfo, 'qq', ip])
|
|
await db.query(insertSql, [uuid, time, location, deviceInfo, 'qq', ip])
|
|
|
} catch (error) {
|
|
} catch (error) {
|
|
|
this.logger.error(`写入登录记录失败!${error}`)
|
|
this.logger.error(`写入登录记录失败!${error}`)
|