pwdEdit.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. const app = getApp();
  2. Page({
  3. data: {
  4. canClick:true,
  5. codeBtnTxt:"发送验证码"
  6. },
  7. onLoad(){
  8. var userInfo = wx.getStorageSync('userInfo')
  9. this.setData({
  10. loginName:userInfo.mobile,
  11. userId:userInfo.userId
  12. })
  13. },
  14. goSubmit(){
  15. var that = this
  16. var phoneNumber = that.data.loginName
  17. var userId = that.data.userId
  18. var phonereg = /^[1][0-9]{10}$/;
  19. let token = wx.getStorageSync('token');
  20. if (!phonereg.test(phoneNumber)) {
  21. app.showToptip(that, "error", "手机号输入有误")
  22. return;
  23. }
  24. var smsCode = that.data.code
  25. if (!smsCode) {
  26. app.showToptip(that, "worning", "验证码输入有误")
  27. return;
  28. }
  29. var password = that.data.password;
  30. if (!password) {
  31. app.showToptip(that, "error", "密码不能为空")
  32. return;
  33. }
  34. var reg = /^(?=.{8,20})(?=.*?[a-z])(?=.*?[A-Z])(?=.*?\d)(?=.*?[$#~%]).*$/;
  35. if(!reg.test(password)){
  36. app.showToptip(that, "error", "密码必须为至少8位字母数字和符号$#~%")
  37. return;
  38. }
  39. var repassword = that.data.password2
  40. if (password != repassword) {
  41. app.showToptip(that, "error", "两次密码输入不一致")
  42. return;
  43. }
  44. wx.showLoading({
  45. mask: true
  46. })
  47. app.requestP({
  48. url :token? "/user/editPassword" : '/login/editPassword',
  49. // needToken:false,
  50. contentType:"application/json",
  51. data: {
  52. phonenumber:phoneNumber,
  53. repassword:password,
  54. password,
  55. smsCode,
  56. userId:token ? userId : '',
  57. }
  58. }).then((res) => {
  59. app.showToptip(that,"success", res.data.msg)
  60. wx.redirectTo({
  61. url: '/pages/login/login?phoneNumber='+phoneNumber+"&password="+password,
  62. })
  63. }).catch((res) => {
  64. app.showToptip(that,"error", res.data.msg)
  65. });
  66. },
  67. setLoginName: function (e) {//手机号输入校验
  68. var loginName = e.detail.value.replace(/[^\d]/g, "").substr(0,11)
  69. //验证手机号
  70. var myreg = /^[1][0-9]{10}$/;
  71. this.setData({
  72. loginName,
  73. canClick : myreg.test(loginName)
  74. })
  75. },
  76. setPwd: function (e) {//密码输入绑定
  77. var password = e.detail.value
  78. this.setData({
  79. password: password
  80. })
  81. },
  82. setPwd2: function (e) {//密码输入绑定
  83. var password2 = e.detail.value
  84. this.setData({
  85. password2: password2
  86. })
  87. },
  88. getValidCode:function(e){
  89. //验证手机号
  90. var myreg = /^[1][0-9]{10}$/;
  91. if (!myreg.test(this.data.loginName)) {
  92. app.showToptip(this, "worning", "手机号输入有误")
  93. return;
  94. }
  95. var that=this
  96. wx.showLoading({
  97. title: '发送中...',
  98. mask: true
  99. })
  100. app.requestP({
  101. url: "/sms/getSmsCodeByMobile",
  102. method:'post',
  103. contentType:"application/json",
  104. needToken:false,
  105. data: {
  106. mobile: that.data.loginName
  107. }
  108. }).then((res) => {
  109. app.showToptip(that, "success","发送成功")
  110. that.data.lastSendTime = Date.now()
  111. that.setData({
  112. canClick: false
  113. })
  114. //定时器触发倒计时,
  115. var times = 60
  116. var i = setInterval(function () {
  117. times--
  118. if (times == 0) {
  119. that.setData({
  120. canClick: true,
  121. codeBtnTxt: "获取验证码",
  122. })
  123. clearInterval(i)
  124. } else {
  125. that.setData({
  126. codeBtnTxt: "重新获取" + times + "s",
  127. })
  128. }
  129. }, 1000)
  130. }).catch(function(r){
  131. app.showToptip(that, "error",r.data.msg)
  132. })
  133. },
  134. setCode:function(e){//验证码输入绑定
  135. this.setData({
  136. code: e.detail.value.replace(/[^\d]/g, "").substr(0,6)
  137. })
  138. },
  139. })