mirror of
				https://github.com/whyour/qinglong.git
				synced 2025-10-31 17:06: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 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
	 whyour
						whyour