forget.js 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. var registerPage = new Vue({
  2. el: "#forGetPasswordPage",
  3. data: {
  4. title:'手机找回密码',
  5. loginLoading: false,
  6. tabCurrentIndex :1,
  7. showClass:'',
  8. mobilCount:0,
  9. mobileCodeText:'获取验证码',
  10. mobilTime:null,
  11. isMobileDisabled:false,
  12. emailCount:0,
  13. emailCodeText:'获取验证码',
  14. emailTime:null,
  15. isEmailDisabled:false,
  16. isCodeModel:false,
  17. codeImagePath:'',
  18. codeImageToken:'',
  19. imageCode:'',
  20. phonePwd: {
  21. mobileOrEmail :'',
  22. smsCode : '',
  23. password : '',
  24. passwordConfirm : '',
  25. status:1
  26. },
  27. emailPwd: {
  28. mobileOrEmail :'',
  29. activateCode : '',
  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: "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{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.Alert('密码修改成功~','去登录',true,function () {
  61. _self.loginLoading = false;
  62. window.location.href = '/login.html';
  63. });
  64. } else {
  65. CAIMEI.Alert(response.msg,'确定',false);
  66. _self.loginLoading = false;
  67. }
  68. });
  69. },
  70. findEmailPwd: function(){ //邮箱找回密码
  71. var _self = this;
  72. var pass = verifyForm();
  73. if (_self.loginLoading) { return false; }
  74. if (!pass) {return false;}
  75. if(_self.emailPwd.passwordConfirm!=_self.emailPwd.password){
  76. CAIMEI.dialog('两次密码输入不一致',false,function () {});
  77. return;
  78. }
  79. _self.loginLoading = true;
  80. UserApi.FindCompanyPwd(_self.emailPwd,function (response) {
  81. if(response.code === 0){
  82. CAIMEI.Alert('密码修改成功~','去登录',true,function () {
  83. _self.loginLoading = false;
  84. window.location.href = '/login.html';
  85. });
  86. } else {
  87. CAIMEI.Alert(response.msg,'确定',false);
  88. _self.loginLoading = false;
  89. }
  90. });
  91. },
  92. handleCheckMobile(){// 校验手机是否已注册
  93. const _self = this;
  94. if (!verifyCheack('.massageBtn')) { return false; }
  95. if (this.isMobileDisabled) { return false; }
  96. UserApi.userCheckePhone({mobile: this.phonePwd.mobileOrEmail},function(response){
  97. if(response.code === 0){
  98. _self.handleShowImage();
  99. }else{
  100. setErrorTxt($('.massageBtn'),response.msg)
  101. }
  102. })
  103. },
  104. handleShowImage:function() {//获取图形验证码
  105. const _self = this;
  106. if (!verifyCheack('.massageBtn')) { return false; }
  107. if (this.isMobileDisabled) { return false; }
  108. PublicApi.getImgVerifyCode({platformType: 0},function(response){
  109. if(response.code === 0){
  110. _self.imageCode = '';
  111. _self.codeImagePath = response.data.baseImage;
  112. _self.codeImageToken = response.data.token;
  113. _self.isCodeModel = true;
  114. }else{
  115. CAIMEI.Alert(response.msg,'确定',false);
  116. }
  117. })
  118. },
  119. getMobileCodeFn:function(){//获取短信验证码
  120. var _self = this;
  121. var params = {
  122. mobile:_self.phonePwd.mobileOrEmail,
  123. imgCode:_self.imageCode,
  124. isCheckCaptcha:0,
  125. token:_self.codeImageToken,
  126. activateCodeType:1,
  127. platformType:0
  128. };
  129. if( this.isMobileDisabled){ return }
  130. this.$nextTick(function() {
  131. if (!verifyCheack('.codeMsgButton')) { return false; }
  132. UserApi.getRegisterMobileCode(params,function (response) {
  133. if(response.code === 0){
  134. _self.isCodeModel = false;
  135. CAIMEI.dialog('验证短信已发送',false,function () {});
  136. var TIME_COUNT = 60;
  137. if (!_self.mobilTime) {
  138. _self.mobilCount = TIME_COUNT;
  139. _self.isMobileDisabled = true;
  140. _self.mobilTime = setInterval(function(){
  141. if (_self.mobilCount > 1 && _self.mobilCount <= TIME_COUNT) {
  142. _self.mobilCount--;
  143. _self.mobileCodeText = _self.mobilCount +'s重新发送';
  144. } else {
  145. _self.isMobileDisabled = false;
  146. clearInterval(_self.mobilTime);
  147. _self.mobilTime = null;
  148. _self.mobileCodeText = '获取验证码';
  149. }
  150. },1000)
  151. }
  152. }else{
  153. _self.handleShowImage();
  154. _self.isMobileDisabled = false;
  155. setErrorTxt($('.codeMsgButton'),response.msg);
  156. }
  157. })
  158. })
  159. },
  160. getEmailCodeFn:function(){//找回密码获取邮箱验证码
  161. var _self = this;
  162. var pass = verifyCheack('.emailMsgBtn');
  163. if (_self.isMobileDisabled) { return false; }
  164. this.$nextTick(function() {
  165. if (!pass) {
  166. return false;
  167. }
  168. var params = {
  169. email: _self.emailPwd.mobileOrEmail,
  170. status: 3
  171. };
  172. _self.isEmailDisabled = true;
  173. PublicApi.getEmailSMScode(params, function (response) {
  174. if (response.code == 0) {
  175. CAIMEI.dialog('验证短信已发送', false, function () {
  176. });
  177. var TIME_COUNT = 60;
  178. if (!_self.emailTime) {
  179. _self.emailCount = TIME_COUNT;
  180. _self.isEmailDisabled = true;
  181. _self.emailTime = setInterval(function () {
  182. if (_self.emailCount > 1 && _self.emailCount <= TIME_COUNT) {
  183. _self.emailCount--;
  184. _self.emailCodeText = _self.emailCount + 's重新发送';
  185. } else {
  186. _self.isEmailDisabled = false;
  187. clearInterval(_self.emailTime);
  188. _self.emailTime = null;
  189. _self.emailCodeText = '获取验证码';
  190. }
  191. }, 1000)
  192. }
  193. } else {
  194. CAIMEI.Alert(response.msg, '确定', false);
  195. _self.isEmailDisabled = false;
  196. }
  197. })
  198. })
  199. },
  200. refreshCodeImage:function(){
  201. this.handleShowImage()
  202. },
  203. closeCodeModel:function(){
  204. this.isCodeModel = false;
  205. },
  206. showPassword: function(event) {//密码
  207. var el = event.currentTarget;
  208. var pwdEle = $(el).siblings('input');
  209. if(pwdEle.attr('type') === 'password') {
  210. $(el).addClass('on');
  211. pwdEle.attr('type','text');
  212. } else {
  213. $(el).removeClass('on');
  214. pwdEle.attr('type','password');
  215. }
  216. },
  217. blurHandle: function(event) { // 失去焦点校验
  218. var el = event.currentTarget;
  219. verifyHandle(el);
  220. },
  221. checkedFn:function (index) {
  222. this.tabCurrentIndex = index;
  223. },
  224. },
  225. created: function () {
  226. },
  227. mounted: function () {
  228. var _self = this;
  229. }
  230. });