You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							163 lines
						
					
					
						
							3.6 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							163 lines
						
					
					
						
							3.6 KiB
						
					
					
				| // subpages/settings/pages/changePassword/changePassword.js | |
| import {encryptedData} from "../../../../utils/index" | |
| import api from "../../../../utils/api" | |
| Page({ | |
| 
 | |
|     /** | |
|      * 页面的初始数据 | |
|      */ | |
|     data: { | |
|         pubKey:'', | |
|         oldPassword:"", | |
|         newPassword:"", | |
|         confirmPassword:"" | |
|     }, | |
| 
 | |
|     /** | |
|      * 生命周期函数--监听页面加载 | |
|      */ | |
|     onLoad(options) { | |
|         this.getPubKey() | |
|     }, | |
|     getPubKey(){ | |
|         api.getPubKey().then(res=>{ | |
|             this.setData({ | |
|                 pubKey:res.data | |
|             }) | |
|         }).catch(err=>{ | |
| 
 | |
|         }) | |
|     }, | |
|     /** | |
|      * 生命周期函数--监听页面初次渲染完成 | |
|      */ | |
|     onReady() { | |
| 
 | |
|     }, | |
| 
 | |
|     /** | |
|      * 生命周期函数--监听页面显示 | |
|      */ | |
|     onShow() { | |
| 
 | |
|     }, | |
| 
 | |
|     /** | |
|      * 生命周期函数--监听页面隐藏 | |
|      */ | |
|     onHide() { | |
| 
 | |
|     }, | |
| 
 | |
|     /** | |
|      * 生命周期函数--监听页面卸载 | |
|      */ | |
|     onUnload() { | |
| 
 | |
|     }, | |
| 
 | |
|     /** | |
|      * 页面相关事件处理函数--监听用户下拉动作 | |
|      */ | |
|     onPullDownRefresh() { | |
| 
 | |
|     }, | |
| 
 | |
|     /** | |
|      * 页面上拉触底事件的处理函数 | |
|      */ | |
|     onReachBottom() { | |
| 
 | |
|     }, | |
| 
 | |
|     /** | |
|      * 用户点击右上角分享 | |
|      */ | |
|     onShareAppMessage() { | |
| 
 | |
|     }, | |
|     changeOldPassword(e){ | |
|         this.setData({ | |
|             oldPassword:e.detail.value | |
|         }) | |
|     }, | |
|     changeNewPassword(e){ | |
|         this.setData({ | |
|             newPassword:e.detail.value | |
|         }) | |
|     }, | |
|     changeConfirmPassword(e){ | |
|         this.setData({ | |
|             confirmPassword:e.detail.value | |
|         }) | |
|     }, | |
|     validateComplexity(pwd) { | |
|         let regex = new RegExp("(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z]).{8,20}"); | |
|         if (!regex.test(pwd)) return false; | |
|         return true; | |
|       }, | |
|     handelSubmit(e){ | |
|         if(!this.data.oldPassword){ | |
|             wx.showToast({ | |
|               title: '原密码不能为空', | |
|               icon:"none" | |
|             }) | |
|             return | |
|         } | |
|         if(!this.data.newPassword){ | |
|             wx.showToast({ | |
|               title: '新密码不能为空', | |
|               icon:"none" | |
|             }) | |
|             return | |
|         } | |
|         if(!this.data.confirmPassword){ | |
|             wx.showToast({ | |
|               title: '确认密码不能为空', | |
|               icon:"none" | |
|             }) | |
|             return | |
|         } | |
|         if(!this.data.confirmPassword === this.data.newPassword){ | |
|             wx.showToast({ | |
|                 title: '两次密码不一致', | |
|                 icon:"none" | |
|             }) | |
|             return | |
|         } | |
|         if (!this.validateComplexity(this.data.newPassword)) { | |
|             wx.showToast({ | |
|                 title: '密码必须8-20个字符,而且同时包含大小写字母和数字', | |
|                 icon:"none", | |
|                 duration:5000 | |
|             }) | |
|             return | |
|         }; | |
| 
 | |
|         let obj={ | |
|                 oldPassword: encryptedData(this.data.pubKey, this.data.oldPassword), | |
|                 newPassword: encryptedData(this.data.pubKey, this.data.newPassword), | |
|                 confirmNewPassword: encryptedData(this.data.pubKey,this.data.confirmPassword), | |
|         } | |
|         api.changePassword(obj).then(res=>{ | |
|             console.log(res); | |
|             if(res.code == 0){ | |
|                 wx.showToast({ | |
|                     title: '修改成功', | |
|                     duration:3000, | |
|                     success:function(){ | |
|                         setTimeout(()=>{ | |
|                             wx.reLaunch({ | |
|                                 url: '/pages/login/login', | |
|                               }) | |
|                         },3000) | |
|                     } | |
|                 }) | |
|             } | |
|         }).catch(err=>{ | |
|             console.log(err); | |
|         }) | |
|         | |
|     } | |
| 
 | |
| }) |