login.js 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. const $ = require('jquery');
  2. require("../css/reset.less")
  3. require("../css/login.less")
  4. require("./modal.js")
  5. const { api } = require('./api.js')
  6. const { post, setCookie, delCookie, getUrlArgObject, toast } = require('../js/utils.js');
  7. const md5 = require('js-md5');
  8. const hideLogo = getUrlArgObject("hideLg");
  9. const otherLogo = getUrlArgObject("adLg");
  10. let type
  11. $(function () {
  12. getHospitalMark()
  13. if (hideLogo || otherLogo) {
  14. $(".copy-right").text("");
  15. }
  16. delCookie('accessToken')
  17. $(document).keyup(function (event) {
  18. if (event.keyCode == 13) {
  19. sureLogin()
  20. }
  21. });
  22. });
  23. function getHospitalMark() {
  24. localStorage.removeItem('accessToken')
  25. post(api.getHospitalMark).then((res) => {
  26. const data = res.data;
  27. if (data.code == 0) {
  28. type = parseInt(data.data)
  29. if (parseInt(data.data) == 1) {
  30. str = '<div class="bg2"></div>'
  31. str += '<div class="login-info">'
  32. str += '<div class="info-perPub">'
  33. str += ' <p> 用户名:</p>'
  34. str += '<div class="info-iptWrap">'
  35. str += '<input type="text" placeholder="请输入用户名" id="username" value="" autocomplete="off">'
  36. str += '</div></div>'
  37. str += '<div class="info-perPub">'
  38. str += ' <p> 密码:</p>'
  39. str += '<div class="info-iptWrap">'
  40. str += '<input type="text" placeholder="请输入密码" id="password" value="" autocomplete="off">'
  41. str += '</div></div>'
  42. str += '<p class="waring"></p><div class="sureLogin">登录</div>'
  43. $('.login').html(str)
  44. } else {
  45. str = '<div class="bg fl"><p class="title">AI病案质控平台</p></div>'
  46. str += '<div class="message fr"><div class="inner"><p class="welcome">欢迎使用!</p>'
  47. str += '<div class="perPub">'
  48. str += ' <p> 用户名:</p>'
  49. str += '<div class="iptWrap">'
  50. str += '<input type="text" placeholder="请输入用户名" id="username" value="" autocomplete="off">'
  51. str += '</div></div><br>'
  52. str += '<div class="perPub">'
  53. str += ' <p> 密码:</p>'
  54. str += '<div class="iptWrap">'
  55. str += '<input type="text" placeholder="请输入密码" id="password" value="" autocomplete="off">'
  56. str += '</div></div>'
  57. str += '<p class="waring"></p><div class="sureLogin">登录</div></div><div class="copy-right">由杭州朗通信息技术有限公司提供技术支持</div></div>',
  58. $('.login').html(str)
  59. }
  60. $(".sureLogin").click(() => {
  61. sureLogin()
  62. })
  63. $("#password").focus(function () {
  64. $(this).attr("type", "password")
  65. })
  66. $(".iptWrap input").focus(function () {
  67. $(this).parent().addClass('inputFocus')
  68. })
  69. $(".iptWrap input").blur(function () {
  70. $(this).parent().removeClass('inputFocus')
  71. })
  72. $("body").on('input', '#username,#password', function () {
  73. if ($(this).val().trim() != '') {
  74. $(".login .waring").html('')
  75. }
  76. })
  77. }
  78. }).catch(() => {
  79. })
  80. }
  81. function sureLogin() {
  82. localStorage.removeItem('accessToken')
  83. $(".login .waring").html('')
  84. let username = $("#username").val().trim();
  85. let password = $("#password").val().trim();
  86. if (!username) {
  87. if(type == 1){
  88. toast("请输入用户名!");
  89. }else{
  90. $(".login .waring").css('visibility', 'visible').html('请输入用户名')
  91. }
  92. return
  93. } else if (!password) {
  94. if (type == 1) {
  95. toast("请输入密码!");
  96. } else {
  97. $(".login .waring").css('visibility', 'visible').html('请输入密码')
  98. }
  99. return
  100. }
  101. $.alerModal({ type: "loading" });
  102. post(api.getJwt, {
  103. username: username,
  104. password: password
  105. }).then((res) => {
  106. const data = res.data;
  107. if (data.code == 0) {
  108. setCookie('accessToken', data.data.accessToken)
  109. setCookie('isPlacefile', 1)
  110. setCookie('passwordComplexity', data.data.passwordComplexity)
  111. //setCookie('mmps',password);
  112. localStorage.setItem('accessToken', data.data.accessToken)
  113. $(".divModal").remove()
  114. $.alerModal({ "message": "登录成功", type: "tip", time: '1000', win: true });
  115. setTimeout(() => {
  116. cacheCheckDatas(data.data.selRoles);
  117. const otherLogoPm = otherLogo ? '?adLg=1' : '';
  118. const hideLgPm = hideLogo ? '?hideLg=1' : '';
  119. window.location.href = 'index.html' + hideLgPm + otherLogoPm;
  120. }, 600);
  121. } else {
  122. $(".divModal").remove()
  123. if (type == 1) {
  124. toast(data.msg);
  125. } else {
  126. $(".login .waring").css('visibility', 'visible').html(data.msg)
  127. }
  128. }
  129. }).catch(() => {
  130. $(".divModal").remove()
  131. })
  132. }
  133. //核查权限数据保存
  134. function cacheCheckDatas(data) {
  135. delCookie("checkAuth");
  136. const arr = data && data.map((it) => {
  137. return it.id;
  138. }) || [];
  139. setCookie("checkAuth", arr.join(","));
  140. }