forked from mrlan/EnglishPal
				
			
		
			
				
	
	
		
			97 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			HTML
		
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			HTML
		
	
	
| <!DOCTYPE html>
 | |
| <html lang="en">
 | |
| 
 | |
| <head>
 | |
|     <meta charset="UTF-8">
 | |
|     <meta name="viewport"
 | |
|         content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=3.0, user-scalable=yes" />
 | |
|     <meta name="format-detection" content="telephone=no" />
 | |
|     <link href="../static/css/bootstrap.css" rel="stylesheet">
 | |
|     <script src="../static/js/jquery.js"></script>
 | |
| </head>
 | |
| 
 | |
| <body class="container" style="width: 800px; margin: auto; margin-top:24px;">
 | |
|     <nav class="navbar navbar-expand-lg bg-light">
 | |
|         <div class="container-fluid">
 | |
|             <a class="navbar-brand" href="#">管理员 {{ username }} 您好!</a>
 | |
|             <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav"
 | |
|                 aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
 | |
|                 <span class="navbar-toggler-icon"></span>
 | |
|             </button>
 | |
|             <div class="collapse navbar-collapse" id="navbarNav">
 | |
|                 <ul class="navbar-nav">
 | |
|                     <li class="nav-item">
 | |
|                         <a class="nav-link" href="/{{ username }}">返回主页</a>
 | |
|                     </li>
 | |
|                     <li class="nav-item">
 | |
|                         <a class="nav-link" href="/logout">退出登录</a>
 | |
|                     </li>
 | |
|                 </ul>
 | |
|             </div>
 | |
|         </div>
 | |
|     </nav>
 | |
| 
 | |
|     <div class="card" style="margin-top:24px;">
 | |
|         <h5 style="margin-top: 10px;padding-left: 10px;">重置选中用户的信息</h5>
 | |
|         <form id="user_form" action="" method="post" class="container mb-3">
 | |
|             <div>
 | |
|                 <label class="form-label" style="padding-top: 10px;">用户</label>
 | |
|                 <select onchange="select_user()" id="username" name="username" class="form-select" aria-label="Default select example">
 | |
|                     <option selected>选择用户</option>
 | |
|                     {% for user in user_list %}
 | |
|                     <option value="{{ user.name }}">{{ user.name }}</option>
 | |
|                     {% endfor %}
 | |
|                 </select>
 | |
| 
 | |
|                 <label class="form-label" style="padding-top: 10px;">修改密码</label>
 | |
|                 <div>
 | |
|                     <button type="button" id="reset_pwd_btn" class="btn btn-outline-success">获取12位随机密码</button>
 | |
|                     <input style="margin-left: 20px;border: 0; font-size: 20px;" name="new_password"
 | |
|                         id="new_password"></input>
 | |
|                 </div>
 | |
| 
 | |
|                 <label class="form-label" style="padding-top: 10px;">过期时间</label>
 | |
|                 <div>
 | |
|                     <input type="date" id="expiry_date" name="expiry_time" placeholder="YYYY-MM-DD" pattern="yyyyMMdd">
 | |
|                 </div>
 | |
| 
 | |
|             </div>
 | |
| 
 | |
|             <button style="margin-top: 50px;" type="submit" class="btn btn-primary">更新用户信息</button>
 | |
|         </form>
 | |
|     </div>
 | |
| </body>
 | |
| 
 | |
| 
 | |
| <script>
 | |
|     // 密码生成器
 | |
|     function generatePassword(length) {
 | |
|         var charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_+~`|}{[]\:;?><,./-=";
 | |
|         var password = "";
 | |
|         for (var i = 0; i < length; i++) {
 | |
|             password += charset.charAt(Math.floor(Math.random() * charset.length));
 | |
|         }
 | |
|         return password;
 | |
|     }
 | |
|     document.getElementById("reset_pwd_btn").addEventListener("click", () => {
 | |
|         // 生成12位随机密码
 | |
|         let pwd = generatePassword(12)
 | |
|         document.getElementById("new_password").value = pwd
 | |
|     })
 | |
|     // 选择用户后更新其过期时间
 | |
|     function select_user() {
 | |
|         let cur_user = $('#username').val();
 | |
|         {% for user in user_list %}
 | |
|             if (cur_user == "{{ user.name }}") {
 | |
|                 const dateString = "{{ user.expiry_date }}"
 | |
|                 const year = dateString.substr(0,4);
 | |
|                 const month = dateString.substr(4,2);
 | |
|                 const day = dateString.substr(6,2);
 | |
|                 document.getElementById("expiry_date").value = year + '-' + month + '-' + day
 | |
|             }
 | |
|         {% endfor %}
 | |
|     }
 | |
| </script>
 | |
| 
 | |
| </html>
 |