mirror of
https://github.com/whyour/qinglong.git
synced 2025-05-22 22:36:06 +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 config from '../config';
|
||||
import jwt from 'jsonwebtoken';
|
||||
import { createPassword } from '../config/util';
|
||||
const route = Router();
|
||||
|
||||
export default (app: Router) => {
|
||||
|
@ -19,6 +20,23 @@ export default (app: Router) => {
|
|||
if (err) console.log(err);
|
||||
const authInfo = JSON.parse(data);
|
||||
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 (
|
||||
username == authInfo.username &&
|
||||
password == authInfo.password
|
||||
|
|
|
@ -65,7 +65,7 @@ export default (app: Router) => {
|
|||
const cookieService = Container.get(CookieService);
|
||||
const data = await cookieService.addCookie(req.body.cookies);
|
||||
if (data) {
|
||||
return res.send({ code: 500, data });
|
||||
return res.send({ code: 400, data });
|
||||
} else {
|
||||
return res.send({ code: 200, data: '新建成功' });
|
||||
}
|
||||
|
@ -84,7 +84,7 @@ export default (app: Router) => {
|
|||
const cookieService = Container.get(CookieService);
|
||||
const data = await cookieService.updateCookie(req.body);
|
||||
if (data) {
|
||||
return res.send({ code: 500, data });
|
||||
return res.send({ code: 400, data });
|
||||
} else {
|
||||
return res.send({ code: 200, data: '新建成功' });
|
||||
}
|
||||
|
@ -105,7 +105,7 @@ export default (app: Router) => {
|
|||
req.body.cookie as string,
|
||||
);
|
||||
if (data) {
|
||||
return res.send({ code: 500, data });
|
||||
return res.send({ code: 400, data });
|
||||
} else {
|
||||
return res.send({ code: 200, data: '新建成功' });
|
||||
}
|
||||
|
|
|
@ -15,8 +15,8 @@ export function getLastModifyFilePath(dir: string) {
|
|||
const arr = fs.readdirSync(dir);
|
||||
|
||||
arr.forEach((item) => {
|
||||
var fullpath = path.join(dir, item);
|
||||
var stats = fs.statSync(fullpath);
|
||||
const fullpath = path.join(dir, item);
|
||||
const stats = fs.statSync(fullpath);
|
||||
if (stats.isFile()) {
|
||||
if (stats.mtimeMs >= 0) {
|
||||
filePath = fullpath;
|
||||
|
@ -26,3 +26,88 @@ export function getLastModifyFilePath(dir: string) {
|
|||
}
|
||||
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) => {
|
||||
if (data.code == 200) {
|
||||
if (data.code === 200) {
|
||||
localStorage.setItem(config.authKey, data.token);
|
||||
history.push('/cookie');
|
||||
} else if (data.code === 100) {
|
||||
notification.warn({
|
||||
message: data.msg,
|
||||
});
|
||||
} else {
|
||||
notification.open({
|
||||
notification.error({
|
||||
message: data.msg,
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user