index.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299
  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. </script>
  128. <script>
  129. layui.config({
  130. base: "../js/layuiPlugins/"
  131. }).use(['form', 'laytpl', 'jquery', 'md5'], function () {
  132. //清除token
  133. // ((window.hywa || {}).sessionTable || {}).tableName && layui.sessionData((window.hywa.sessionTable || {}).tableName, null);
  134. var form = layui.form,
  135. laytpl = layui.laytpl,
  136. $ = layui.$,
  137. md5 = layui.md5;
  138. form.verify({
  139. userName: [
  140. /^[0-9\a-z\A-Z\u4e00-\u9fa5_]{2,16}$/,
  141. "账号必须是2-16位,且不包含特殊字符"
  142. ],
  143. pwd: [
  144. /^[\S]{6,12}$/,
  145. '密码必须6到12位,且不能出现空格'
  146. ]
  147. });
  148. // 统一登录改造
  149. // 获取URL参数
  150. const urlParams = new URLSearchParams(window.location.search);
  151. // 获取xxl_sso_sessionid的值
  152. // const sessionId = urlParams.get('xxl_sso_sessionid');
  153. const token = urlParams.get('token');
  154. const userId = urlParams.get('userId');
  155. if (token) {
  156. console.log('111',window.hywa);
  157. //存储token
  158. layui.sessionData(window.hywa.sessionTable.tableName, {
  159. key: 'token',
  160. value: token
  161. });
  162. // console.log('111',window.hywa);
  163. $('#loading').css('display','block');
  164. $.ajax({
  165. url: 'login_info?guid=' + userId,
  166. type: 'get',
  167. contentType: 'application/json',
  168. success: function (data) {
  169. console.log('success data111', data);
  170. var code = data.code,
  171. user = { userId: ((((data.data || [])[0] || {}).CurrentUser || {}).guid || ""), name: ((((data.data || [])[0] || {}).CurrentUser || {}).account || ""), realName: ((((data.data || [])[0] || {}).CurrentUser || {}).userName || ""), menus: (((data.data || [])[0] || {}).authMenuObj || {}) },
  172. // user = { userId: data.data[0].guid, name: data.data[0].account, realName: data.data[0].userName, menus: [] },
  173. // token = ((data.data || [])[0] || {}).accessToken || null,
  174. // systemLable = { systemName: (((data.data || [])[0] || {}).orgObject || {}).systemName || "蔬菜质量安全溯源平台管理后台" };
  175. systemLable = { systemName:"蔬菜质量安全溯源平台管理后台"}
  176. if (!(code - 0)) {
  177. //储存用户信息
  178. layui.sessionData(window.hywa.sessionTable.tableName, {
  179. key: window.hywa.sessionTable.userData,
  180. value: user
  181. });
  182. //存储系统名称
  183. layui.sessionData(window.hywa.sessionTable.tableName, {
  184. key: 'sys',
  185. value: systemLable
  186. });
  187. // //存储token
  188. // layui.sessionData(window.hywa.sessionTable.tableName, {
  189. // key: 'token',
  190. // value: token
  191. // });
  192. $('#loading').css('display','none');
  193. //存储数组
  194. location.href = window.hywa.jumpPage.home;
  195. }
  196. }
  197. })
  198. }
  199. // console.log('sessionId', sessionId);
  200. // if (sessionId) {
  201. // $('#loading').css('display','block');
  202. // let data = {sessionId:sessionId}
  203. // $.ajax({
  204. // url: 'ssoLogin',
  205. // type: 'post',
  206. // data: JSON.stringify(data),
  207. // contentType: 'application/json',
  208. // success: function (data) {
  209. // // console.log('success data', data);
  210. // var code = data.code,
  211. // user = { userId: ((((data.data || [])[0] || {}).CurrentUser || {}).guid || ""), name: ((((data.data || [])[0] || {}).CurrentUser || {}).account || ""), realName: ((((data.data || [])[0] || {}).CurrentUser || {}).userName || ""), menus: (((data.data || [])[0] || {}).authMenuObj || {}) },
  212. // token = ((data.data || [])[0] || {}).accessToken || null,
  213. // systemLable = { systemName: (((data.data || [])[0] || {}).orgObject || {}).systemName || "蔬菜质量安全溯源平台管理后台" };
  214. // systemLable = { systemName:"蔬菜质量安全溯源平台管理后台"}
  215. // if (!(code - 0)) {
  216. // //储存用户信息
  217. // layui.sessionData(window.hywa.sessionTable.tableName, {
  218. // key: window.hywa.sessionTable.userData,
  219. // value: user
  220. // });
  221. // //存储系统名称
  222. // layui.sessionData(window.hywa.sessionTable.tableName, {
  223. // key: 'sys',
  224. // value: systemLable
  225. // });
  226. // //存储token
  227. // layui.sessionData(window.hywa.sessionTable.tableName, {
  228. // key: 'token',
  229. // value: token
  230. // });
  231. // $('#loading').css('display','none');
  232. // //存储数组
  233. // location.href = window.hywa.jumpPage.home;
  234. // }
  235. // }
  236. // })
  237. // }
  238. // 统一登录改造
  239. function ajaxLogin(data) {
  240. var time = 'b8d11ee289394be688ef3a4f6968efed';
  241. var result = btoa(data.pwd);
  242. time = time.substring(0, 8);
  243. var pass = md5.calcMD5(time);
  244. pass = pass.substring(0, 5);
  245. data.passwd = pass + result;
  246. $.ajax({
  247. url: 'login',
  248. type: 'post',
  249. data: JSON.stringify(data),
  250. contentType: 'application/json',
  251. success: function (data) {
  252. var code = data.code,
  253. user = { userId: ((((data.data || [])[0] || {}).CurrentUser || {}).guid || ""), name: ((((data.data || [])[0] || {}).CurrentUser || {}).account || ""), realName: ((((data.data || [])[0] || {}).CurrentUser || {}).userName || ""), menus: (((data.data || [])[0] || {}).authMenuObj || {}) },
  254. token = ((data.data || [])[0] || {}).accessToken || null,
  255. systemLable = { systemName: (((data.data || [])[0] || {}).orgObject || {}).systemName || "蔬菜质量安全溯源平台管理后台" };
  256. systemLable = { systemName:"蔬菜质量安全溯源平台管理后台"}
  257. if (!(code - 0)) {
  258. //储存用户信息
  259. layui.sessionData(window.hywa.sessionTable.tableName, {
  260. key: window.hywa.sessionTable.userData,
  261. value: user
  262. });
  263. //存储系统名称
  264. layui.sessionData(window.hywa.sessionTable.tableName, {
  265. key: 'sys',
  266. value: systemLable
  267. });
  268. //存储token
  269. layui.sessionData(window.hywa.sessionTable.tableName, {
  270. key: 'token',
  271. value: token
  272. });
  273. //存储数组
  274. location.href = window.hywa.jumpPage.home;
  275. }
  276. }
  277. })
  278. }
  279. form.on('submit(loginForm)', function (data) {
  280. setTimeout(function () {
  281. ajaxLogin(data.field);
  282. }, 0);
  283. return false;
  284. });
  285. });
  286. </script>
  287. </body>
  288. </html>