require-login.js 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. require.config({
  2. urlArgs: 'v=' + requirejs.s.contexts._.config.config.site.version,
  3. paths: {
  4. 'lang': 'empty:',
  5. 'form': 'require-form',
  6. 'jquery': '../libs/jquery/dist/jquery.min',
  7. 'bootstrap': '../libs/bootstrap/dist/js/bootstrap.min',
  8. 'upload': 'require-upload',
  9. 'validator': '../libs/nice-validator/dist/jquery.validator',
  10. 'validator-lang': '../libs/nice-validator/dist/local/zh-CN',
  11. 'toastr': '../libs/toastr/toastr',
  12. 'layer': '../libs/fastadmin-layer/dist/layer'
  13. },
  14. shim: {
  15. 'bootstrap': ['jquery'],
  16. 'validator-lang': ['validator']
  17. },
  18. baseUrl: requirejs.s.contexts._.config.config.site.cdnurl + '/assets/js/',
  19. waitSeconds: 60,
  20. charset: 'utf-8'
  21. });
  22. require(['jquery', 'bootstrap'], function ($) {
  23. var Config = requirejs.s.contexts._.config.config;
  24. window.Config = Config;
  25. require.config({
  26. paths: {
  27. 'lang': Config.moduleurl + '/ajax/lang?callback=define&controllername=index&lang=' + Config.language + '&v=' + Config.site.version
  28. }
  29. });
  30. require(['fast', 'form', 'validator-lang'], function (Fast, Form) {
  31. $(function () {
  32. Fast.config.toastr.positionClass = 'toast-top-center';
  33. var REMEMBER_KEY = 'xh_admin_remember_pwd';
  34. try {
  35. var remembered = localStorage.getItem(REMEMBER_KEY);
  36. if (remembered) {
  37. remembered = JSON.parse(remembered);
  38. if (remembered && remembered.username) {
  39. $('#pd-form-username').val(remembered.username);
  40. }
  41. if (remembered && remembered.password) {
  42. $('#pd-form-password').val(remembered.password);
  43. }
  44. $('#remember-password').prop('checked', true);
  45. }
  46. } catch (e) {
  47. }
  48. var lastlogin = localStorage.getItem('lastlogin');
  49. if (lastlogin) {
  50. try {
  51. lastlogin = JSON.parse(lastlogin);
  52. if (lastlogin && lastlogin.username && !$('#pd-form-username').val()) {
  53. $('#pd-form-username').val(lastlogin.username);
  54. }
  55. } catch (e2) {
  56. }
  57. }
  58. $('#login-form').data('validator-options', {
  59. invalid: function (form, errors) {
  60. $.each(errors, function (i, j) {
  61. Toastr.error(j);
  62. });
  63. },
  64. target: '#errtips'
  65. });
  66. Form.api.bindevent($('#login-form'), function (data) {
  67. localStorage.setItem('lastlogin', JSON.stringify({
  68. id: data.id,
  69. username: data.username,
  70. avatar: data.avatar
  71. }));
  72. if ($('#remember-password').is(':checked')) {
  73. localStorage.setItem(REMEMBER_KEY, JSON.stringify({
  74. username: $('#pd-form-username').val() || data.username || '',
  75. password: $('#pd-form-password').val() || ''
  76. }));
  77. } else {
  78. localStorage.removeItem(REMEMBER_KEY);
  79. }
  80. location.href = Fast.api.fixurl(data.url);
  81. }, function () {
  82. $('input[name=captcha]').next('.input-group-addon').find('img').trigger('click');
  83. });
  84. $('#pd-form-username').trigger('focus');
  85. });
  86. });
  87. });