password.js 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. ;
  2. var passwordPage = new Vue({
  3. el: "#passwordPage",
  4. data: {
  5. title:'手机找回密码',
  6. loginLoading: false,
  7. tabCurrentIndex:1,
  8. showClass:'',
  9. mobilCount:0,
  10. mobileCodeText:'获取验证码',
  11. mobilTime:null,
  12. isMobileDisabled:false,
  13. emailCount:0,
  14. emailCodeText:'获取验证码',
  15. emailTime:null,
  16. isEmailDisabled:false,
  17. isCodeModel:false,
  18. codeImagePath:'',
  19. codeImageToken:'',
  20. imageCode:'',
  21. phonePwd: {
  22. mobileOrEmail :'',
  23. smsCode : '',
  24. password : '',
  25. passwordConfirm : '',
  26. status:1
  27. },
  28. emailPwd: {
  29. mobileOrEmail :'',
  30. smsCode : '',
  31. password : '',
  32. passwordConfirm : '',
  33. status:2
  34. },
  35. rule:{
  36. name: '^[a-zA-Z\\u4e00-\\u9fa5]{2,}$',
  37. phone: '^\\d{6,12}$',
  38. code: '^\\d{6}$',
  39. emailCode: '^\\d{6}$',
  40. license: '^[a-zA-Z0-9_]{18}$',
  41. email: '^(([^<>()\\[\\]\\\\.,;:\\s@&quot;]+(\\.[^<>()\\[\\]\\\\.,;:\\s@&quot;]+)*)|(&quot;.+&quot;))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$',
  42. password: "^[^\\u4e00-\\u9fa5]{8,16}$"
  43. }
  44. },
  45. computed: {
  46. },
  47. methods: {
  48. findPhonePwd: function(){ //手机号找回密码
  49. var _self = this;
  50. var pass = verifyForm();
  51. if (_self.loginLoading) { return false; }
  52. if (!pass) {return false;}
  53. if(_self.phonePwd.passwordConfirm!=_self.phonePwd.password){
  54. CAIMEI.dialog('两次密码输入不一致',false,function () {});
  55. return;
  56. }
  57. _self.loginLoading = true;
  58. UserApi.FindCompanyPwd(_self.phonePwd,function (response) {
  59. if(response.code === 0){
  60. CAIMEI.dialog('密码修改成功~',true,function () {
  61. _self.loginLoading = false;
  62. CAIMEI.Storage.clear();
  63. window.location.href = '/login.html';
  64. });
  65. } else {
  66. CAIMEI.Alert(response.msg,'确定',false);
  67. _self.loginLoading = false;
  68. }
  69. });
  70. },
  71. findEmailPwd: function(){ //邮箱找回密码
  72. var _self = this;
  73. var pass = verifyForm();
  74. if (_self.loginLoading) { return false; }
  75. if (!pass) {return false;}
  76. if(_self.emailPwd.passwordConfirm!=_self.emailPwd.password){
  77. CAIMEI.dialog('两次密码输入不一致',false,function () {});
  78. return;
  79. }
  80. _self.loginLoading = true;
  81. UserApi.FindCompanyPwd(_self.emailPwd,function (response) {
  82. if(response.code === 0){
  83. CAIMEI.dialog('密码修改成功~',true,function () {
  84. _self.loginLoading = false;
  85. CAIMEI.Storage.clear();
  86. window.location.href = '/login.html';
  87. });
  88. } else {
  89. CAIMEI.Alert(response.msg,'确定',false);
  90. _self.loginLoading = false;
  91. }
  92. });
  93. },
  94. getMobileImage:function() {//获取图形验证码
  95. var _self = this;
  96. var pass = verifyCheack('.massageBtn');
  97. if (_self.isMobileDisabled) { return false; }
  98. this.$nextTick(function() {
  99. if (!pass) {
  100. return false;
  101. }
  102. PublicApi.getImgVerifyCode({platformType: 0},function(response){
  103. if(response.code == 0){
  104. _self.imageCode = '';
  105. _self.codeImagePath = response.data.baseImage;
  106. _self.codeImageToken = response.data.token;
  107. _self.isCodeModel = true;
  108. }else{
  109. CAIMEI.Alert(response.msg,'确定',false);
  110. }
  111. })
  112. });
  113. },
  114. getMobileCodeFn:function(){//获取短信验证码
  115. var _self = this;
  116. var params = {
  117. mobile:_self.phonePwd.mobileOrEmail,
  118. imgCode:_self.imageCode,
  119. isCheckCaptcha:0,
  120. token:_self.codeImageToken,
  121. activateCodeType:1,
  122. platformType:0
  123. };
  124. _self.isMobileDisabled = true;
  125. UserApi.getRegisterMobileCode(params,function (response) {
  126. if(response.code == 0){
  127. _self.isCodeModel = false;
  128. CAIMEI.dialog('验证短信已发送',false,function () {});
  129. var TIME_COUNT = 60;
  130. if (!_self.mobilTime) {
  131. _self.mobilCount = TIME_COUNT;
  132. _self.isMobileDisabled = true;
  133. _self.mobilTime = setInterval(function(){
  134. if (_self.mobilCount > 1 && _self.mobilCount <= TIME_COUNT) {
  135. _self.mobilCount--;
  136. _self.mobileCodeText = _self.mobilCount +'s重新发送';
  137. } else {
  138. _self.isMobileDisabled = false;
  139. clearInterval(_self.mobilTime);
  140. _self.mobilTime = null;
  141. _self.mobileCodeText = '获取验证码';
  142. }
  143. },1000)
  144. }
  145. }else{
  146. CAIMEI.Alert(response.msg,'确定',false);
  147. _self.isMobileDisabled = false;
  148. _self.isCodeModel = false;
  149. }
  150. })
  151. },
  152. getEmailCodeFn:function(){//找回密码获取邮箱验证码
  153. var _self = this;
  154. var pass = verifyCheack('.emailMsgBtn');
  155. if (_self.isMobileDisabled) { return false; }
  156. this.$nextTick(function() {
  157. if (!pass) {return false; }
  158. var params = {
  159. email: _self.emailPwd.mobileOrEmail,
  160. status:3
  161. };
  162. _self.isEmailDisabled = true;
  163. PublicApi.getEmailSMScode(params, function (response) {
  164. if (response.code == 0) {
  165. CAIMEI.dialog('验证短信已发送', false, function () {
  166. });
  167. var TIME_COUNT = 60;
  168. if (!_self.emailTime) {
  169. _self.emailCount = TIME_COUNT;
  170. _self.isEmailDisabled = true;
  171. _self.emailTime = setInterval(function () {
  172. if (_self.emailCount > 1 && _self.emailCount <= TIME_COUNT) {
  173. _self.emailCount--;
  174. _self.emailCodeText = _self.emailCount + 's重新发送';
  175. } else {
  176. _self.isEmailDisabled = false;
  177. clearInterval(_self.emailTime);
  178. _self.emailTime = null;
  179. _self.emailCodeText = '获取验证码';
  180. }
  181. }, 1000)
  182. }
  183. } else {
  184. CAIMEI.Alert(response.msg, '确定', false);
  185. _self.isEmailDisabled = false;
  186. }
  187. })
  188. })
  189. },
  190. refreshCodeImage:function(){
  191. this.getMobileImage()
  192. },
  193. closeCodeModel:function(){
  194. this.isCodeModel = false;
  195. },
  196. showPassword: function(event) {//密码
  197. var el = event.currentTarget;
  198. var pwdEle = $(el).siblings('input');
  199. if(pwdEle.attr('type') === 'password') {
  200. $(el).addClass('on');
  201. pwdEle.attr('type','text');
  202. } else {
  203. $(el).removeClass('on');
  204. pwdEle.attr('type','password');
  205. }
  206. },
  207. blurHandle: function(event) { // 失去焦点校验
  208. var el = event.currentTarget;
  209. verifyHandle(el);
  210. },
  211. checkedFn:function (index) {
  212. this.tabCurrentIndex = index;
  213. }
  214. },
  215. created: function () {
  216. },
  217. mounted: function () {
  218. var _self = this;
  219. $('.navLayout').find('.navList').removeClass("on").find('.con').hide().find('a').removeClass("on");
  220. $('.navLayout').find('.navList').eq(3).addClass("on").find('.con').show().find('a').eq(0).addClass("on");
  221. }
  222. });