|
@@ -2,6 +2,7 @@ const API = require("../../../lib/API")
|
|
|
const axios = require('axios')
|
|
const axios = require('axios')
|
|
|
const { v4: uuidv4 } = require('uuid')
|
|
const { v4: uuidv4 } = require('uuid')
|
|
|
const db = require("../../../plugin/DataBase/db")
|
|
const db = require("../../../plugin/DataBase/db")
|
|
|
|
|
+const Redis = require('../../../plugin/DataBase/Redis')
|
|
|
const config = require('../../../config.json')
|
|
const config = require('../../../config.json')
|
|
|
const { BaseStdResponse } = require("../../../BaseStdResponse")
|
|
const { BaseStdResponse } = require("../../../BaseStdResponse")
|
|
|
|
|
|
|
@@ -51,8 +52,8 @@ class Login extends API {
|
|
|
uuid = uuidv4()
|
|
uuid = uuidv4()
|
|
|
username = `用户${uuid.slice(0, 8)}`
|
|
username = `用户${uuid.slice(0, 8)}`
|
|
|
|
|
|
|
|
- let regSql = 'INSERT INTO users (uuid, username, session, registTime, social_uid, social_type, nickname, avatar, email) VALUES (?,?,?,?,?,?,?,?,?) '
|
|
|
|
|
- let regRows = await db.query(regSql, [uuid, username, session, time, social_uid, type || 'qq', nickname, faceimg, '未设置'])
|
|
|
|
|
|
|
+ let regSql = 'INSERT INTO users (uuid, username, registTime, social_uid, social_type, nickname, avatar, email) VALUES (?,?,?,?,?,?,?,?) '
|
|
|
|
|
+ let regRows = await db.query(regSql, [uuid, username, time, social_uid, type || 'qq', nickname, faceimg, '未设置'])
|
|
|
if (!regRows || regRows.affectedRows !== 1) {
|
|
if (!regRows || regRows.affectedRows !== 1) {
|
|
|
this.logger.error(`聚合登录用户注册失败!数据库错误`)
|
|
this.logger.error(`聚合登录用户注册失败!数据库错误`)
|
|
|
return res.json({
|
|
return res.json({
|
|
@@ -61,23 +62,16 @@ class Login extends API {
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
else {
|
|
else {
|
|
|
- let updateSql = 'UPDATE users SET session = ?, lastTime = ?, avatar = ?, nickname = ? WHERE social_uid = ? AND social_type = ?'
|
|
|
|
|
- let updateRows = await db.query(updateSql, [session, time, faceimg, nickname, social_uid, type || 'qq'])
|
|
|
|
|
- if (!updateRows || updateRows.affectedRows !== 1) {
|
|
|
|
|
- this.logger.error(`聚合登录用户登录失败!数据库错误`)
|
|
|
|
|
- return res.json({
|
|
|
|
|
- ...BaseStdResponse.ERR,
|
|
|
|
|
- msg: '用户登录失败!请稍后再试'
|
|
|
|
|
- })
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
uuid = selectRows[0].uuid
|
|
uuid = selectRows[0].uuid
|
|
|
username = selectRows[0].username
|
|
username = selectRows[0].username
|
|
|
permission = selectRows[0].permission
|
|
permission = selectRows[0].permission
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ await Redis.set(`userSession:${uuid}`, session, {
|
|
|
|
|
+ exp: 2592000
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
res.json({
|
|
res.json({
|
|
|
...BaseStdResponse.OK,
|
|
...BaseStdResponse.OK,
|
|
|
data: {
|
|
data: {
|
|
@@ -93,6 +87,11 @@ class Login extends API {
|
|
|
|
|
|
|
|
// 增加登录记录
|
|
// 增加登录记录
|
|
|
try {
|
|
try {
|
|
|
|
|
+ if (selectRows.length !== 0) {
|
|
|
|
|
+ let updateSql = 'UPDATE users SET lastTime = ?, avatar = ?, nickname = ? WHERE social_uid = ? AND social_type = ?'
|
|
|
|
|
+ await db.query(updateSql, [time, faceimg, nickname, social_uid, type || 'qq'])
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
const userAgent = req.headers['user-agent']
|
|
const userAgent = req.headers['user-agent']
|
|
|
let insertSql = 'INSERT INTO login_history (uuid, time, deviceInfo, type, ip) VALUES (?, ?, ?, ?, ?)'
|
|
let insertSql = 'INSERT INTO login_history (uuid, time, deviceInfo, type, ip) VALUES (?, ?, ?, ?, ?)'
|
|
|
await db.query(insertSql, [uuid, time, { 'ua': userAgent }, type || 'qq', ip])
|
|
await db.query(insertSql, [uuid, time, { 'ua': userAgent }, type || 'qq', ip])
|
|
@@ -109,4 +108,4 @@ class Login extends API {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-module.exports.Login = Login;
|
|
|
|
|
|
|
+module.exports.Login = Login
|