ReLoginController.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. Ext.define('school.view.auth.ReLoginController', {
  2. extend: 'Ext.app.ViewController',
  3. alias: 'controller.relogin',
  4. init: function () {
  5. this.callParent(arguments);
  6. },
  7. onAfterRender: function() {
  8. var me = this,
  9. view = me.getView(),
  10. model = me.getViewModel(),
  11. remember = model.get('remember'),
  12. password = model.get('repassword'),
  13. lastSuccess = model.get('lastSuccess'),
  14. form = me.lookup('reloginform'),
  15. passwordField = form.getForm().findField('password');
  16. if(remember && lastSuccess) {
  17. passwordField.setValue(password);
  18. }
  19. },
  20. onLogin: function () {
  21. var me = this,
  22. view = me.getView(),
  23. viewModel = me.getViewModel(),
  24. form = me.lookup('reloginform'),
  25. values = form.getValues();
  26. if(!form.isValid()) {
  27. return;
  28. }
  29. view.mask('请稍等...');
  30. school.model.Session.login(values.username, values.password)
  31. .then(function (session) {
  32. view.isMasked() && view.unmask();
  33. viewModel.set('session', session);
  34. me.successReLogin();
  35. me.fireEvent('login', session);
  36. return session;
  37. })
  38. .then(function(session) {
  39. let headers = Ext.Ajax.getDefaultHeaders() || {};
  40. headers['Authorization'] = session.data.token;
  41. Ext.Ajax.setDefaultHeaders(headers);
  42. school.util.State.set('session', session.data);
  43. // let sessionStr = session.data ? JSON.stringify(session.data) : '';
  44. // if (typeof require === 'function') {
  45. // let ipc = require('electron').ipcRenderer;
  46. // ipc.send('session.change', sessionStr);
  47. // }else {
  48. // //解析session 把data作为sessionStr
  49. // sessionStr = session ? JSON.stringify(session.data) : '';
  50. // const frame = window.frames[window.frames.length - 1];
  51. // frame.postMessage(sessionStr, '*');
  52. // }
  53. return session;
  54. })
  55. .catch(function (error) {
  56. view.isMasked() && view.unmask();
  57. console.error(error);
  58. school.util.BaseUtil.showErrorToast('登录失败: ' + error.message);
  59. me.failureReLogin();
  60. });
  61. },
  62. successReLogin: function() {
  63. var me = this,
  64. view = me.getView(),
  65. form = me.lookup('reloginform'),
  66. values = form.getValues();
  67. viewModel = me.getViewModel();
  68. viewModel.set('repassword', values.password);
  69. viewModel.set('lastSuccess', true);
  70. view.close();
  71. },
  72. failureReLogin: function() {
  73. var me = this,
  74. viewModel = me.getViewModel();
  75. viewModel.set('lastSuccess', false);
  76. },
  77. onCancel: function() {
  78. var me = this,
  79. view = me.getView();
  80. view.close();
  81. },
  82. });