login.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.login', {
  3. extend : 'Ext.app.Controller',
  4. views : [ 'login.Login' ],
  5. init : function() {
  6. var me = this;
  7. this.control({
  8. 'loginView':{
  9. afterrender:function(){
  10. var username = me.getCookie('username');
  11. var password = me.getCookie('password');
  12. if(username){
  13. Ext.getCmp('username').setValue(username);
  14. }
  15. if(password){
  16. Ext.getCmp('password').setValue(password);
  17. }
  18. if(!username){
  19. Ext.getCmp('username').focus();
  20. }
  21. }
  22. },
  23. 'loginView #loginBtn' : {
  24. click : function(btn) {
  25. var form = btn.ownerCt.ownerCt;
  26. var values = form.getForm().getValues();
  27. var viewport = Ext.getCmp('loginViewport');
  28. var el = viewport.getEl();
  29. if(!values.name||!values.password){
  30. showErrorMsg('提示','请输入用户名和密码!');
  31. }else{
  32. el.mask('登录中...');
  33. Ext.Ajax.request({
  34. url : basePath + 'user/login',
  35. method : 'POST',
  36. params : values,
  37. callback : function(options, success, response) {
  38. el.unmask();
  39. var res = Ext.decode(response.responseText);
  40. if (res.success == false) {
  41. Ext.getCmp('errortip').show();
  42. } else {
  43. //设置cookie
  44. me.setCookie('username',res.name,'/',14);
  45. me.setCookie('password',values.password);
  46. me.setCookie('role',res.role,'/',14);
  47. /**
  48. * 获取链接参数
  49. *
  50. * @param key
  51. * 参数的键
  52. * @returns 参数的值
  53. */
  54. var getParameter= function(key) {
  55. var reg = new RegExp("(^|&)" + key + "=([^&]*)(&|$)");
  56. var r = window.location.search.substr(1).match(reg);
  57. if (r != null)
  58. return decodeURI(r[2]);
  59. return null;
  60. };
  61. var returnUrl=getParameter('returnUrl');
  62. if(returnUrl && decodeURIComponent(returnUrl) != window.location.href){
  63. // 回到登录前的页面
  64. window.location.href = decodeURIComponent(returnUrl);
  65. }else{
  66. window.location.reload();
  67. }
  68. }
  69. }
  70. });
  71. }
  72. }
  73. }
  74. });
  75. },
  76. setCookie:function(name,value,path,outDay){
  77. var date = new Date();
  78. date.setDate(date.getDate()+outDay);
  79. date.setTime(date.getTime() + (outDay*24*60*60*1000));
  80. var expires = "; expires=" + date.toUTCString();
  81. var path = path?';path='+path:'';
  82. document.cookie = name + '=' + value + ';expires=' + expires + path;
  83. },
  84. getCookie:function(name){
  85. var cookies = document.cookie.split('; ');
  86. var res = null;
  87. Ext.Array.each(cookies,function(cookie){
  88. var values = cookie.split('=');
  89. var cookieName = values[0];
  90. if(cookieName&&name){
  91. if(cookieName==name){
  92. res = values[1];
  93. return false;
  94. }
  95. }
  96. });
  97. return res;
  98. }
  99. });