mirror of
https://github.com/whyour/qinglong.git
synced 2025-05-23 14:56:07 +08:00
首次登录自动生成随机密码
This commit is contained in:
parent
dada261987
commit
d41eb582e4
|
@ -4,6 +4,7 @@ import { Logger } from 'winston';
|
||||||
import * as fs from 'fs';
|
import * as fs from 'fs';
|
||||||
import config from '../config';
|
import config from '../config';
|
||||||
import jwt from 'jsonwebtoken';
|
import jwt from 'jsonwebtoken';
|
||||||
|
import { createPassword } from '../config/util';
|
||||||
const route = Router();
|
const route = Router();
|
||||||
|
|
||||||
export default (app: Router) => {
|
export default (app: Router) => {
|
||||||
|
@ -19,6 +20,23 @@ export default (app: Router) => {
|
||||||
if (err) console.log(err);
|
if (err) console.log(err);
|
||||||
const authInfo = JSON.parse(data);
|
const authInfo = JSON.parse(data);
|
||||||
if (username && password) {
|
if (username && password) {
|
||||||
|
if (
|
||||||
|
authInfo.username === 'admin' &&
|
||||||
|
authInfo.password === 'adminadmin'
|
||||||
|
) {
|
||||||
|
const newPassword = createPassword(16, 22);
|
||||||
|
fs.writeFileSync(
|
||||||
|
config.authConfigFile,
|
||||||
|
JSON.stringify({
|
||||||
|
username: authInfo.username,
|
||||||
|
password: newPassword,
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
return res.send({
|
||||||
|
code: 100,
|
||||||
|
msg: '已初始化密码,请前往auth.json查看并重新登录',
|
||||||
|
});
|
||||||
|
}
|
||||||
if (
|
if (
|
||||||
username == authInfo.username &&
|
username == authInfo.username &&
|
||||||
password == authInfo.password
|
password == authInfo.password
|
||||||
|
|
|
@ -65,7 +65,7 @@ export default (app: Router) => {
|
||||||
const cookieService = Container.get(CookieService);
|
const cookieService = Container.get(CookieService);
|
||||||
const data = await cookieService.addCookie(req.body.cookies);
|
const data = await cookieService.addCookie(req.body.cookies);
|
||||||
if (data) {
|
if (data) {
|
||||||
return res.send({ code: 500, data });
|
return res.send({ code: 400, data });
|
||||||
} else {
|
} else {
|
||||||
return res.send({ code: 200, data: '新建成功' });
|
return res.send({ code: 200, data: '新建成功' });
|
||||||
}
|
}
|
||||||
|
@ -84,7 +84,7 @@ export default (app: Router) => {
|
||||||
const cookieService = Container.get(CookieService);
|
const cookieService = Container.get(CookieService);
|
||||||
const data = await cookieService.updateCookie(req.body);
|
const data = await cookieService.updateCookie(req.body);
|
||||||
if (data) {
|
if (data) {
|
||||||
return res.send({ code: 500, data });
|
return res.send({ code: 400, data });
|
||||||
} else {
|
} else {
|
||||||
return res.send({ code: 200, data: '新建成功' });
|
return res.send({ code: 200, data: '新建成功' });
|
||||||
}
|
}
|
||||||
|
@ -105,7 +105,7 @@ export default (app: Router) => {
|
||||||
req.body.cookie as string,
|
req.body.cookie as string,
|
||||||
);
|
);
|
||||||
if (data) {
|
if (data) {
|
||||||
return res.send({ code: 500, data });
|
return res.send({ code: 400, data });
|
||||||
} else {
|
} else {
|
||||||
return res.send({ code: 200, data: '新建成功' });
|
return res.send({ code: 200, data: '新建成功' });
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,8 +15,8 @@ export function getLastModifyFilePath(dir: string) {
|
||||||
const arr = fs.readdirSync(dir);
|
const arr = fs.readdirSync(dir);
|
||||||
|
|
||||||
arr.forEach((item) => {
|
arr.forEach((item) => {
|
||||||
var fullpath = path.join(dir, item);
|
const fullpath = path.join(dir, item);
|
||||||
var stats = fs.statSync(fullpath);
|
const stats = fs.statSync(fullpath);
|
||||||
if (stats.isFile()) {
|
if (stats.isFile()) {
|
||||||
if (stats.mtimeMs >= 0) {
|
if (stats.mtimeMs >= 0) {
|
||||||
filePath = fullpath;
|
filePath = fullpath;
|
||||||
|
@ -26,3 +26,88 @@ export function getLastModifyFilePath(dir: string) {
|
||||||
}
|
}
|
||||||
return filePath;
|
return filePath;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function createPassword(min: number, max: number): string {
|
||||||
|
const num = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
|
||||||
|
const english = [
|
||||||
|
'a',
|
||||||
|
'b',
|
||||||
|
'c',
|
||||||
|
'd',
|
||||||
|
'e',
|
||||||
|
'f',
|
||||||
|
'g',
|
||||||
|
'h',
|
||||||
|
'i',
|
||||||
|
'j',
|
||||||
|
'k',
|
||||||
|
'l',
|
||||||
|
'm',
|
||||||
|
'n',
|
||||||
|
'o',
|
||||||
|
'p',
|
||||||
|
'q',
|
||||||
|
'r',
|
||||||
|
's',
|
||||||
|
't',
|
||||||
|
'u',
|
||||||
|
'v',
|
||||||
|
'w',
|
||||||
|
'x',
|
||||||
|
'y',
|
||||||
|
'z',
|
||||||
|
];
|
||||||
|
const ENGLISH = [
|
||||||
|
'A',
|
||||||
|
'B',
|
||||||
|
'C',
|
||||||
|
'D',
|
||||||
|
'E',
|
||||||
|
'F',
|
||||||
|
'G',
|
||||||
|
'H',
|
||||||
|
'I',
|
||||||
|
'J',
|
||||||
|
'K',
|
||||||
|
'L',
|
||||||
|
'M',
|
||||||
|
'N',
|
||||||
|
'O',
|
||||||
|
'P',
|
||||||
|
'Q',
|
||||||
|
'R',
|
||||||
|
'S',
|
||||||
|
'T',
|
||||||
|
'U',
|
||||||
|
'V',
|
||||||
|
'W',
|
||||||
|
'X',
|
||||||
|
'Y',
|
||||||
|
'Z',
|
||||||
|
];
|
||||||
|
const special = ['-', '_', '#'];
|
||||||
|
const config = num.concat(english).concat(ENGLISH).concat(special);
|
||||||
|
|
||||||
|
const arr = [];
|
||||||
|
arr.push(getOne(num));
|
||||||
|
arr.push(getOne(english));
|
||||||
|
arr.push(getOne(ENGLISH));
|
||||||
|
arr.push(getOne(special));
|
||||||
|
|
||||||
|
const len = min + Math.floor(Math.random() * (max - min + 1));
|
||||||
|
|
||||||
|
for (let i = 4; i < len; i++) {
|
||||||
|
arr.push(config[Math.floor(Math.random() * config.length)]);
|
||||||
|
}
|
||||||
|
|
||||||
|
const newArr = [];
|
||||||
|
for (let j = 0; j < len; j++) {
|
||||||
|
newArr.push(arr.splice(Math.random() * arr.length, 1)[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
function getOne(arr) {
|
||||||
|
return arr[Math.floor(Math.random() * arr.length)];
|
||||||
|
}
|
||||||
|
|
||||||
|
return newArr.join('');
|
||||||
|
}
|
||||||
|
|
|
@ -18,11 +18,15 @@ const Login = () => {
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
.then((data) => {
|
.then((data) => {
|
||||||
if (data.code == 200) {
|
if (data.code === 200) {
|
||||||
localStorage.setItem(config.authKey, data.token);
|
localStorage.setItem(config.authKey, data.token);
|
||||||
history.push('/cookie');
|
history.push('/cookie');
|
||||||
|
} else if (data.code === 100) {
|
||||||
|
notification.warn({
|
||||||
|
message: data.msg,
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
notification.open({
|
notification.error({
|
||||||
message: data.msg,
|
message: data.msg,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user