Your Name | 695f6a6 | 2025-05-17 00:58:04 +0800 | [diff] [blame] | 1 | <!DOCTYPE html> |
| 2 | <html lang="zh-CN"> |
Your Name | 4fbe811 | 2025-05-20 23:24:17 +0800 | [diff] [blame^] | 3 | <head> |
| 4 | <meta charset="UTF-8"> |
| 5 | <title>首页</title> |
| 6 | </head> |
Your Name | 695f6a6 | 2025-05-17 00:58:04 +0800 | [diff] [blame] | 7 | <body> |
| 8 | <h1>欢迎访问受保护页面</h1> |
| 9 | <div id="userInfo"></div> |
| 10 | <script> |
Your Name | 4fbe811 | 2025-05-20 23:24:17 +0800 | [diff] [blame^] | 11 | (async () => { |
| 12 | const token = localStorage.getItem('token'); // 从 localStorage 获取 token |
| 13 | if (!token) return window.location.href = 'login.html'; // 如果 token 不存在,重定向到登录页面 |
| 14 | |
Your Name | 695f6a6 | 2025-05-17 00:58:04 +0800 | [diff] [blame] | 15 | const res = await fetch('/api/me', { |
Your Name | 4fbe811 | 2025-05-20 23:24:17 +0800 | [diff] [blame^] | 16 | headers: { 'token': token } // 使用 token 请求用户信息 |
Your Name | 695f6a6 | 2025-05-17 00:58:04 +0800 | [diff] [blame] | 17 | }); |
Your Name | 4fbe811 | 2025-05-20 23:24:17 +0800 | [diff] [blame^] | 18 | |
| 19 | const json = await res.json(); // 解析响应数据 |
| 20 | if (json.code !== 0) { |
| 21 | return window.location.href = 'login.html'; // 如果获取用户信息失败,重定向到登录页面 |
Your Name | 695f6a6 | 2025-05-17 00:58:04 +0800 | [diff] [blame] | 22 | } |
Your Name | 4fbe811 | 2025-05-20 23:24:17 +0800 | [diff] [blame^] | 23 | |
| 24 | // 输出当前用户和 token |
Your Name | 695f6a6 | 2025-05-17 00:58:04 +0800 | [diff] [blame] | 25 | document.getElementById('userInfo') |
Your Name | 4fbe811 | 2025-05-20 23:24:17 +0800 | [diff] [blame^] | 26 | .innerText = '当前用户:' + json.data.username + ',Token:' + json.data; // 显示用户名和 token |
Your Name | 695f6a6 | 2025-05-17 00:58:04 +0800 | [diff] [blame] | 27 | })(); |
| 28 | </script> |
| 29 | </body> |
Your Name | 4fbe811 | 2025-05-20 23:24:17 +0800 | [diff] [blame^] | 30 | </html> |