在日常生活中,很容易忘记密码,所以这个时候找回密码就很重要了!!!(此例子是在一个评教app里面)
1.首先在这个app里面得有绑定一个邮箱(这个邮箱对于找回密码发挥着至关重要的作用)
绑定一个邮箱显示页面
点进去可以进行修改邮箱
页面的代码是
view class='pj' form bindsubmit='formSubmit' bindreset='formReset' view class='cont' view class='pwd' text class='text1'登录密码/text input password='true' name='pwd' placeholder='请输入登录密码' class='pwd1' / /view view class='pwd' text class='text1'邮箱/text input password='true' name='email' placeholder='请输入邮箱' class='pwd1'/ /view /view view class='section' button type='primary' form-type='submit' class='submit'提交/button /view /form/view为这个提交绑定单击事件
// pages/email/email.jsconst app = getApp();Page({ /** * 页面的初始数据 */ data: { }, formSubmit: function (e) { var pwd = e.detail.value.pwd; var email = e.detail.value.email; var student = wx.getStorageSync('student'); var no = student.no; if (pwd == '' || email == '') { wx.showToast({ title: '密码或邮箱不能为空', icon: 'none', duration: 1000 }) } else { wx.request({ url: app.globalData.url.email, data: { no: no, pwd: pwd, email: email }, method: 'POST', header: { 'content-type': 'application/x-www-form-urlencoded' }, success: (res) = { // console.log(res.data); if (res.data.error) { wx.showToast({ title: res.data.msg, icon: 'none', duration: 2000 }) } else { var _student = wx.getStorageSync('student'); _student.email = email; wx.setStorageSync('student', _student); wx.showToast({ title: '邮箱绑定成功', icon: 'success', duration: 2000, success: () = { setTimeout(function () { wx.navigateBack({ delta: 1 }) }, 2000) } }) } } }) } }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { },})绑定邮箱成功
2.设计忘记密码页面
点击这个忘记密码-出现
view class="pj" view class='a' form bindsubmit='send_email' wx:if="{{form_index == 0}}" text找回密码:第1步/text view class="section" input name="no" type='number' placeholder-class='small' placeholder='请输入学号' / /view view class="section" input name="email" placeholder-class='small' placeholder='请输入绑定的邮箱' / /view button type='primary' class='submit' placeholder-class='small' formType="submit" 下一步/button /form form bindsubmit='submit_password' wx:else text找回密码:第2步/text view class="section" view class="left" input name="pwd" password="{{mask}}" placeholder-class='small' placeholder='输入新密码' / /view view class="right" switch bindchange="switchChange"/ /view /view view class="section" view class="left" input name="validcode" type='number' placeholder-class='small' placeholder='输入邮件中的验证码'/ /view view class="right" text style="color:#aaa"剩余:{{second}}秒/text /view /view button type='primary' formType="submit" disabled="{{disabled}}" 提交/button /form /view/view绑定事件
// pages/forgotpwd/forgotpwd.jsconst app = getApp();function countdown(that) { var second = that.data.second if (second == 0) { that.setData({ disabled: true }); return; } var time = setTimeout(function () { that.setData({ second: second - 1 }); countdown(that); } , 1000)}Page({ /** * 页面的初始数据 */ data: { form_index: 0, no: null, second: 30, disabled: false, mask: true }, switchChange: function (e) { // console.log(e.detail.value) this.setData({ mask: !e.detail.value }) }, //提交邮箱 send_email: function (e) { var no = e.detail.value.no; var email = e.detail.value.email; if (email == null || email == '') { wx.showToast({ title: '请输入邮箱', icon: 'none', duration: 2000 }) return; } wx.showLoading({ title: '网络请求中...', }) wx.request({ url: app.globalData.url.forgotpwd, data: { no: no, email: email }, method: "POST", header: { 'content-type': 'application/x-www-form-urlencoded' }, success: (res) = { wx.hideLoading(); // console.log(res.data); if (res.data.error) { wx.showToast({ title: res.data.msg, icon: 'none', duration: 2000 }) } else { this.setData({ no: no, second: res.data.expire }); countdown(this); wx.showToast({ title: res.data.msg, icon: 'none', duration: 2000 }) setTimeout(() = { this.setData({ form_index: 1 }); }, 2000) } } }) }, //重设密码 submit_password: function (e) { console.log(e); var validcode = e.detail.value.validcode; var pwd = e.detail.value.pwd; if (validcode == '' || validcode == null || pwd == '' || pwd == null) { wx.showToast({ title: '验证码和密码不能为空', icon: 'none', duration: 2000 }) } else { wx.request({ url: app.globalData.url.initpassword, method: 'POST', data: { no: this.data.no, validcode: validcode, pwd: pwd }, header: { 'content-type': 'application/x-www-form-urlencoded' }, success: (res) = { // console.log(res.data); if (res.data.error) { wx.showToast({ title: res.data.msg, icon: 'none', duration: 2000 }) } else { wx.showToast({ title: res.data.msg, icon: 'success', duration: 2000 }) setTimeout(() = { wx.navigateBack({ delta: 1 }) }, 2000) } } }) } }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { }})更改密码成功














