初始化提交
This commit is contained in:
		| @ -0,0 +1,154 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| 	<meta charset="UTF-8"> | ||||
| 	<title>首页</title> | ||||
| 	<!-- jQuery:操作 dom、发起请求等 --> | ||||
| 	<script src="https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery/2.1.2/jquery.min.js" type="application/javascript"></script> | ||||
|  | ||||
| 	<script type="application/javascript"> | ||||
|  | ||||
|     /** | ||||
|      * 跳转单点登录 | ||||
|      */ | ||||
|     function passwordLogin() { | ||||
|       window.location.href = '/login.html' | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 修改昵称 | ||||
|      */ | ||||
|     function updateNickname() { | ||||
|       const nickname = prompt("请输入新的昵称", ""); | ||||
|       if (!nickname) { | ||||
|         return; | ||||
|       } | ||||
|       // 更新用户的昵称 | ||||
|       const accessToken = localStorage.getItem('ACCESS-TOKEN'); | ||||
|       $.ajax({ | ||||
|         url: "http://127.0.0.1:18080/user/update?nickname=" + nickname, | ||||
|         method: 'PUT', | ||||
|         headers: { | ||||
|           'Authorization': 'Bearer ' + accessToken | ||||
|         }, | ||||
|         success: function (result) { | ||||
|           if (result.code !== 0) { | ||||
|             alert('更新昵称失败,原因:' + result.msg) | ||||
|             return; | ||||
|           } | ||||
|           alert('更新昵称成功!'); | ||||
|           $('#nicknameSpan').html(nickname); | ||||
|         } | ||||
|       }); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 刷新令牌 | ||||
|      */ | ||||
|     function refreshToken() { | ||||
|       const refreshToken = localStorage.getItem('REFRESH-TOKEN'); | ||||
|       if (!refreshToken) { | ||||
|         alert("获取不到刷新令牌"); | ||||
|         return; | ||||
|       } | ||||
|       $.ajax({ | ||||
|         url: "http://127.0.0.1:18080/auth/refresh-token?refreshToken=" + refreshToken, | ||||
|         method: 'POST', | ||||
|         success: function (result) { | ||||
|           if (result.code !== 0) { | ||||
|             alert('刷新访问令牌失败,原因:' + result.msg) | ||||
|             return; | ||||
|           } | ||||
|           alert('更新访问令牌成功!'); | ||||
|           $('#accessTokenSpan').html(result.data.access_token); | ||||
|  | ||||
|           // 设置到 localStorage 中 | ||||
|           localStorage.setItem('ACCESS-TOKEN', result.data.access_token); | ||||
|           localStorage.setItem('REFRESH-TOKEN', result.data.refresh_token); | ||||
|         } | ||||
|       }); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 登出,删除访问令牌 | ||||
|      */ | ||||
|     function logout() { | ||||
|       const accessToken = localStorage.getItem('ACCESS-TOKEN'); | ||||
|       if (!accessToken) { | ||||
|         location.reload(); | ||||
|         return; | ||||
|       } | ||||
|       $.ajax({ | ||||
|         url: "http://127.0.0.1:18080/auth/logout", | ||||
|         method: 'POST', | ||||
|         headers: { | ||||
|           'Authorization': 'Bearer ' + accessToken | ||||
|         }, | ||||
|         success: function (result) { | ||||
|           if (result.code !== 0) { | ||||
|             alert('退出登录失败,原因:' + result.msg) | ||||
|             return; | ||||
|           } | ||||
|           alert('退出登录成功!'); | ||||
|           // 删除 localStorage 中 | ||||
|           localStorage.removeItem('ACCESS-TOKEN'); | ||||
|           localStorage.removeItem('REFRESH-TOKEN'); | ||||
|  | ||||
|           location.reload(); | ||||
|         } | ||||
|       }); | ||||
|     } | ||||
|  | ||||
|     $(function () { | ||||
|       const accessToken = localStorage.getItem('ACCESS-TOKEN'); | ||||
|       // 情况一:未登录 | ||||
|       if (!accessToken) { | ||||
|         $('#noLoginDiv').css("display", "block"); | ||||
|         return; | ||||
|       } | ||||
|  | ||||
|       // 情况二:已登录 | ||||
|       $('#yesLoginDiv').css("display", "block"); | ||||
|       $('#accessTokenSpan').html(accessToken); | ||||
|       // 获得登录用户的信息 | ||||
|       $.ajax({ | ||||
|         url: "http://127.0.0.1:18080/user/get", | ||||
|         method: 'GET', | ||||
|         headers: { | ||||
|           'Authorization': 'Bearer ' + accessToken | ||||
|         }, | ||||
|         success: function (result) { | ||||
|           if (result.code !== 0) { | ||||
|             alert('获得个人信息失败,原因:' + result.msg) | ||||
|             return; | ||||
|           } | ||||
|           $('#nicknameSpan').html(result.data.nickname); | ||||
|         } | ||||
|       }); | ||||
|     }) | ||||
| 	</script> | ||||
| </head> | ||||
| <body> | ||||
| <!-- 情况一:未登录:1)跳转 ruoyi-vue-pro 的 SSO 登录页 --> | ||||
| <div id="noLoginDiv" style="display: none"> | ||||
| 	您未登录,点击 <a href="#" onclick="passwordLogin()">跳转 </a> 账号密码登录 | ||||
| </div> | ||||
|  | ||||
| <!-- 情况二:已登录:1)展示用户信息;2)刷新访问令牌;3)退出登录 --> | ||||
| <div id="yesLoginDiv" style="display: none"> | ||||
| 	您已登录!<button onclick="logout()">退出登录</button> <br /> | ||||
| 	昵称:<span id="nicknameSpan"> 加载中... </span> <button onclick="updateNickname()">修改昵称</button> <br /> | ||||
| 	访问令牌:<span id="accessTokenSpan"> 加载中... </span> <button onclick="refreshToken()">刷新令牌</button> <br /> | ||||
| </div> | ||||
| </body> | ||||
| <style> | ||||
|     body { /** 页面居中 */ | ||||
|         border-radius: 20px; | ||||
|         height: 350px; | ||||
|         position: absolute; | ||||
|         left: 50%; | ||||
|         top: 50%; | ||||
|         transform: translate(-50%,-50%); | ||||
|     } | ||||
| </style> | ||||
| </html> | ||||
| @ -0,0 +1,74 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| 	<meta charset="UTF-8"> | ||||
| 	<title>登录</title> | ||||
| 	<!-- jQuery:操作 dom、发起请求等 --> | ||||
| 	<script src="https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery/2.1.2/jquery.min.js" type="application/javascript"></script> | ||||
|  | ||||
| 	<script type="application/javascript"> | ||||
|  | ||||
|     /** | ||||
|      * 账号密码登录 | ||||
|      */ | ||||
|     function login() { | ||||
|       const clientId = 'yudao-sso-demo-by-password'; // 可以改写成,你的 clientId | ||||
|       const clientSecret = 'test'; // 可以改写成,你的 clientSecret | ||||
|       const grantType = 'password'; // 密码模式 | ||||
|  | ||||
|       // 账号 + 密码 | ||||
|       const username = $('#username').val(); | ||||
|       const password = $('#password').val(); | ||||
|       if (username.length === 0 || password.length === 0) { | ||||
|         alert('账号或密码未输入'); | ||||
|         return; | ||||
|       } | ||||
|  | ||||
|       // 发起请求 | ||||
|       $.ajax({ | ||||
|         url: "http://127.0.0.1:48080/admin-api/system/oauth2/token?" | ||||
|           // 客户端 | ||||
|           + "client_id=" + clientId | ||||
|           + "&client_secret=" + clientSecret | ||||
|           // 密码模式的参数 | ||||
|           + "&grant_type=" + grantType | ||||
|           + "&username=" + username | ||||
|           + "&password=" + password | ||||
|           + '&scope=user.read user.write', | ||||
|         method: 'POST', | ||||
|         headers: { | ||||
|           'tenant-id': '1', // 多租户编号,写死 | ||||
|         }, | ||||
|         success: function (result) { | ||||
|           if (result.code !== 0) { | ||||
|             alert('登录失败,原因:' + result.msg) | ||||
|             return; | ||||
|           } | ||||
|           // 设置到 localStorage 中 | ||||
|           localStorage.setItem('ACCESS-TOKEN', result.data.access_token); | ||||
|           localStorage.setItem('REFRESH-TOKEN', result.data.refresh_token); | ||||
|  | ||||
|           // 提示登录成功 | ||||
|           alert('登录成功!点击确认,跳转回首页'); | ||||
|           window.location.href = '/index.html'; | ||||
|         } | ||||
|       }); | ||||
|     } | ||||
| 	</script> | ||||
| </head> | ||||
| <body> | ||||
| 账号:<input id="username" value="admin" /> <br /> | ||||
| 密码:<input id="password" value="admin123" > <br /> | ||||
| <button style="float: right; margin-top: 5px;" onclick="login()">登录</button> | ||||
| </body> | ||||
| <style> | ||||
|     body { /** 页面居中 */ | ||||
|         border-radius: 20px; | ||||
|         height: 350px; | ||||
|         position: absolute; | ||||
|         left: 50%; | ||||
|         top: 50%; | ||||
|         transform: translate(-50%,-50%); | ||||
|     } | ||||
| </style> | ||||
| </html> | ||||
		Reference in New Issue
	
	Block a user
	 YangJ
					YangJ