index.html 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>蔬菜精准种植应用服务平台</title>
  6. <meta name="renderer" content="webkit">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  9. <meta name="apple-mobile-web-app-status-bar-style" content="black">
  10. <meta name="apple-mobile-web-app-capable" content="yes">
  11. <meta name="format-detection" content="telephone=no">
  12. <link rel="stylesheet" type="text/css" href="../layui/css/layui.css" />
  13. <link rel="stylesheet" type="text/css" href="css/style.css" />
  14. <link rel="stylesheet" type="text/css" href="../iconfont/iconfont.css" />
  15. <style type="text/css" >
  16. .loading{
  17. display: none;
  18. padding-top: 30vh;
  19. position: fixed;
  20. left: 0;
  21. top: 0;
  22. width: 100vw;
  23. height: 100vh;
  24. z-index: 10001;
  25. text-align: center;
  26. background: rgba(0,0,0,.9);
  27. }
  28. .loading-text{
  29. color: #fff;
  30. font-size: 20px;
  31. margin-bottom: 25px;
  32. letter-spacing: 0.2em;
  33. }
  34. .loading span {
  35. display: inline-block;
  36. vertical-align: middle;
  37. width: .6em;
  38. height: .6em;
  39. margin: .19em;
  40. background: #007DB6;
  41. border-radius: .6em;
  42. animation: loading 1s infinite alternate;
  43. }
  44. /*
  45. * Dots Colors
  46. * Smarter targeting vs nth-of-type?
  47. */
  48. .loading span:nth-of-type(2) {
  49. background: #008FB2;
  50. animation-delay: 0.2s;
  51. }
  52. .loading span:nth-of-type(3) {
  53. background: #009B9E;
  54. animation-delay: 0.4s;
  55. }
  56. .loading span:nth-of-type(4) {
  57. background: #00A77D;
  58. animation-delay: 0.6s;
  59. }
  60. .loading span:nth-of-type(5) {
  61. background: #00B247;
  62. animation-delay: 0.8s;
  63. }
  64. .loading span:nth-of-type(6) {
  65. background: #5AB027;
  66. animation-delay: 1.0s;
  67. }
  68. .loading span:nth-of-type(7) {
  69. background: #A0B61E;
  70. animation-delay: 1.2s;
  71. }
  72. /*
  73. * Animation keyframes
  74. * Use transition opacity instead of keyframes?
  75. */
  76. @keyframes loading {
  77. 0% {
  78. opacity: 0;
  79. }
  80. 100% {
  81. opacity: 1;
  82. }
  83. }
  84. </style>
  85. </head>
  86. <body>
  87. <div class="login-wrap">
  88. <div class="main-login">
  89. <div class="login-box">
  90. <div class="login-layout">
  91. <!-- <div class="logo"></div>-->
  92. <form class="layui-form login-form" action="">
  93. <h3 class="formTitle">
  94. <img src="./img/login-logo-bg-icon.png">蔬菜精准种植应用服务平台</h3>
  95. <div class="layui-form-item">
  96. <i class="layui-icon">&#xe66f;</i>
  97. <input type="text" name="account" required lay-verify="userName" placeholder="请输入账号" autocomplete="off" class="login-box-input layui-input">
  98. </div>
  99. <div class="layui-form-item">
  100. <i class="layui-icon">&#xe673;</i>
  101. <input type="password" name="pwd" required lay-verify="pwd" placeholder="请输入密码" autocomplete="off" class="login-box-input layui-input">
  102. </div>
  103. <button class="layui-btn layui-submit login-btn-submit" lay-submit lay-filter="loginForm">登录</button>
  104. </form>
  105. </div>
  106. </div>
  107. </div>
  108. </div>
  109. <div id="loading" class="loading">
  110. <div class="loading-text">登录中,请稍等</div>
  111. <span></span>
  112. <span></span>
  113. <span></span>
  114. <span></span>
  115. <span></span>
  116. <span></span>
  117. <span></span>
  118. </div>
  119. <script src="../layui/layui.js" type="text/javascript" charset="utf-8"></script>
  120. <script src="../js/ajaxhook.min.js" type="text/javascript" charset="utf-8"></script>
  121. <script>
  122. var SYS_VER = Math.random() * 100000;
  123. function loadJS(url) {
  124. document.write("<script src='" + url + "?ver=" + SYS_VER + "'><\/script>")
  125. }
  126. loadJS("../js/config.js");
  127. layui.config({
  128. base: "../js/layuiPlugins/"
  129. }).use(['form', 'laytpl', 'jquery', 'md5'], function () {
  130. //清除token
  131. ((window.hywa || {}).sessionTable || {}).tableName && layui.sessionData((window.hywa.sessionTable || {}).tableName, null);
  132. var form = layui.form,
  133. laytpl = layui.laytpl,
  134. $ = layui.$,
  135. md5 = layui.md5;
  136. form.verify({
  137. userName: [
  138. /^[0-9\a-z\A-Z\u4e00-\u9fa5_]{2,16}$/,
  139. "账号必须是2-16位,且不包含特殊字符"
  140. ],
  141. pwd: [
  142. /^[\S]{6,12}$/,
  143. '密码必须6到12位,且不能出现空格'
  144. ]
  145. });
  146. // 统一登录改造
  147. // 获取URL参数
  148. const urlParams = new URLSearchParams(window.location.search);
  149. // 获取xxl_sso_sessionid的值
  150. const sessionId = urlParams.get('xxl_sso_sessionid');
  151. // console.log('sessionId', sessionId);
  152. if (sessionId) {
  153. $('#loading').css('display','block');
  154. let data = {sessionId:sessionId}
  155. $.ajax({
  156. url: 'ssoLogin',
  157. type: 'post',
  158. data: JSON.stringify(data),
  159. contentType: 'application/json',
  160. success: function (data) {
  161. // console.log('success data', data);
  162. var code = data.code,
  163. user = { userId: ((((data.data || [])[0] || {}).CurrentUser || {}).guid || ""), name: ((((data.data || [])[0] || {}).CurrentUser || {}).account || ""), realName: ((((data.data || [])[0] || {}).CurrentUser || {}).userName || ""), menus: (((data.data || [])[0] || {}).authMenuObj || {}) },
  164. token = ((data.data || [])[0] || {}).accessToken || null,
  165. systemLable = { systemName: (((data.data || [])[0] || {}).orgObject || {}).systemName || "蔬菜精准种植应用服务平台" };
  166. systemLable = { systemName:"蔬菜精准种植应用服务平台"}
  167. if (!(code - 0)) {
  168. //储存用户信息
  169. layui.sessionData(window.hywa.sessionTable.tableName, {
  170. key: window.hywa.sessionTable.userData,
  171. value: user
  172. });
  173. //存储系统名称
  174. layui.sessionData(window.hywa.sessionTable.tableName, {
  175. key: 'sys',
  176. value: systemLable
  177. });
  178. //存储token
  179. layui.sessionData(window.hywa.sessionTable.tableName, {
  180. key: 'token',
  181. value: token
  182. });
  183. $('#loading').css('display','none');
  184. //存储数组
  185. location.href = window.hywa.jumpPage.home;
  186. }
  187. }
  188. })
  189. }
  190. // 统一登录改造
  191. function ajaxLogin(data) {
  192. var time = 'b8d11ee289394be688ef3a4f6968efed';
  193. var result = btoa(data.pwd);
  194. time = time.substring(0, 8);
  195. var pass = md5.calcMD5(time);
  196. pass = pass.substring(0, 5);
  197. data.passwd = pass + result;
  198. $.ajax({
  199. url: 'login',
  200. type: 'post',
  201. data: JSON.stringify(data),
  202. contentType: 'application/json',
  203. success: function (data) {
  204. var code = data.code,
  205. user = { userId: ((((data.data || [])[0] || {}).CurrentUser || {}).guid || ""), name: ((((data.data || [])[0] || {}).CurrentUser || {}).account || ""), realName: ((((data.data || [])[0] || {}).CurrentUser || {}).userName || ""), menus: (((data.data || [])[0] || {}).authMenuObj || {}) },
  206. token = ((data.data || [])[0] || {}).accessToken || null,
  207. systemLable = { systemName: (((data.data || [])[0] || {}).orgObject || {}).systemName || "蔬菜精准种植应用服务平台" };
  208. systemLable = { systemName:"蔬菜精准种植应用服务平台"}
  209. if (!(code - 0)) {
  210. //储存用户信息
  211. layui.sessionData(window.hywa.sessionTable.tableName, {
  212. key: window.hywa.sessionTable.userData,
  213. value: user
  214. });
  215. //存储系统名称
  216. layui.sessionData(window.hywa.sessionTable.tableName, {
  217. key: 'sys',
  218. value: systemLable
  219. });
  220. //存储token
  221. layui.sessionData(window.hywa.sessionTable.tableName, {
  222. key: 'token',
  223. value: token
  224. });
  225. //存储数组
  226. location.href = window.hywa.jumpPage.home;
  227. }
  228. }
  229. })
  230. }
  231. form.on('submit(loginForm)', function (data) {
  232. setTimeout(function () {
  233. ajaxLogin(data.field);
  234. }, 0);
  235. return false;
  236. });
  237. });
  238. </script>
  239. </body>
  240. </html>