登录,设置密码,修改密码,我的,首页,会议列表(接口逻辑已写,差加密文件的完善,代联调)
This commit is contained in:
@@ -0,0 +1,218 @@
|
||||
// pages/meeting/meeting.js
|
||||
import UserApi from '../../assets/js/http/userApi'
|
||||
import {
|
||||
JSEncrypt
|
||||
} from '../../assets/js/jsencrypt/jsencrypt'
|
||||
var countdown = 60; // 倒计时秒数
|
||||
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
form: {
|
||||
phone: '', // 手机号
|
||||
verifyCode: '', // 验证码
|
||||
newPassword: '', // 新密码
|
||||
verifyPassword: '', // 确认密码
|
||||
count: 60, // 倒计时秒
|
||||
rsaPublicKey: '', // 公钥
|
||||
},
|
||||
showGetCaptcha: true
|
||||
},
|
||||
// 获取验证码
|
||||
getVerCode() {
|
||||
if (/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(this.data.phone)) {
|
||||
UserApi.sendCode({
|
||||
phone: this.data.phone
|
||||
}).then(res => {
|
||||
// 获取成功,倒计时 start
|
||||
if (res.success) {
|
||||
this.countDown()
|
||||
} else {
|
||||
wx.showToast({
|
||||
title: '获取验证码失败',
|
||||
icon: 'error',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
} else {
|
||||
wx.showToast({
|
||||
title: '请输入正确的手机号',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
// 倒计时
|
||||
countDown() {
|
||||
if (countdown === 0) {
|
||||
this.setData({
|
||||
showGetCaptcha: true
|
||||
})
|
||||
countdown = 60;
|
||||
return;
|
||||
} else {
|
||||
this.setData({
|
||||
showGetCaptcha: false
|
||||
})
|
||||
countdown--;
|
||||
this.setData({
|
||||
count: countdown
|
||||
})
|
||||
}
|
||||
setTimeout(() => {
|
||||
this.countDown()
|
||||
}, 1000)
|
||||
// 倒计时 end
|
||||
},
|
||||
// 提交
|
||||
formSubmit(e) {
|
||||
if(!e.detail.value.newPassword){
|
||||
this.data.flag = false
|
||||
wx.showToast({
|
||||
title: '请输入密码',
|
||||
icon: 'none'
|
||||
})
|
||||
return
|
||||
} else {
|
||||
let pattern = /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,.\/]).{8,}$/
|
||||
if(!pattern.test(e.detail.value.newPassword)){
|
||||
wx.showToast({
|
||||
title: '密码由8位数字、大小写字母和特殊符号组成!!',
|
||||
icon: 'none'
|
||||
})
|
||||
this.data.flag = false
|
||||
return
|
||||
} else {
|
||||
this.data.flag = true
|
||||
}
|
||||
}
|
||||
if(!e.detail.value.verifyPassword){
|
||||
this.data.flag = false
|
||||
wx.showToast({
|
||||
title: '请输入确认密码',
|
||||
icon: 'none'
|
||||
})
|
||||
return
|
||||
} else {
|
||||
let pattern = /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,.\/]).{8,}$/
|
||||
if(!pattern.test(e.detail.value.verifyPassword)){
|
||||
wx.showToast({
|
||||
title: '密码由8位数字、大小写字母和特殊符号组成!!',
|
||||
icon: 'none'
|
||||
})
|
||||
this.data.flag = false
|
||||
return
|
||||
} else {
|
||||
this.data.flag = true
|
||||
}
|
||||
}
|
||||
if(e.detail.value.newPassword === e.detail.value.verifyPassword) {
|
||||
this.data.flag = true
|
||||
} else {
|
||||
this.data.flag = false
|
||||
wx.showToast({
|
||||
title: '密码不一致',
|
||||
icon: 'none'
|
||||
})
|
||||
return
|
||||
}
|
||||
console.log('form发生了submit事件,携带数据为:', e.detail.value)
|
||||
// 新建JSEncrypt对象
|
||||
let encrypt = new JSEncrypt()
|
||||
encrypt.setPublicKey(this.data.rsaPublicKey) // 公钥加密
|
||||
let params = {
|
||||
phone: encrypt.encrypt(e.detail.value.phone),
|
||||
verifyCode: e.detail.value.verifyCode,
|
||||
newPassword: encrypt.encrypt(e.detail.value.newPassword),
|
||||
verifyPassword: encrypt.encrypt(e.detail.value.verifyPassword)
|
||||
}
|
||||
UserApi.updatePassword(params).then(res => {
|
||||
console.log(res)
|
||||
wx.hideToast()
|
||||
}).catch(err => {
|
||||
wx.hideToast()
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad: function (options) {
|
||||
// 性别处理
|
||||
if (this.data.form.gender === '1') {
|
||||
this.data.sexArr[0].checked = "true"
|
||||
this.setData({
|
||||
sexArr: this.data.sexArr,
|
||||
})
|
||||
console.log(this.data.sexArr)
|
||||
}
|
||||
if (this.data.form.gender === '2') {
|
||||
this.data.sexArr[1].checked = "true"
|
||||
this.setData({
|
||||
sexArr: this.data.sexArr,
|
||||
})
|
||||
console.log(2)
|
||||
}
|
||||
let params = {
|
||||
id: wx.getStorage('id') // 用户id
|
||||
}
|
||||
UserApi.mineInfo(params).then(res => {
|
||||
console.log(res)
|
||||
wx.hideToast()
|
||||
}).catch(err => {
|
||||
wx.hideToast()
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage: function () {
|
||||
|
||||
}
|
||||
})
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"navigationBarTitleText": "修改密码",
|
||||
"usingComponents": {}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
<!--pages/meeting/meeting.wxml-->
|
||||
<view>
|
||||
<form bindsubmit="formSubmit" class="form-box">
|
||||
<view class="form-item">
|
||||
<view class="text-label">手机号</view>
|
||||
<view class="text-value">
|
||||
<input name="phone" value="{{phone}}" placeholder="请输入手机号" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="form-item">
|
||||
<view class="text-label">验证码</view>
|
||||
<view class="text-value">
|
||||
<input name="verifyCode" value="{{verifyCode}}" placeholder="请输入验证码" />
|
||||
</view>
|
||||
<view wx:if="{{showGetCaptcha}}" class="captcha" bindtap="getVerCode">获取验证码</view>
|
||||
<view wx:else="{{showGetCaptcha}}" class="captcha count">{{count}}</view>
|
||||
</view>
|
||||
<view class="form-item">
|
||||
<view class="text-label">密码</view>
|
||||
<view class="text-value">
|
||||
<input name="newPassword" value="{{newPassword}}" placeholder="请输入密码" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="form-item">
|
||||
<view class="text-label">确认密码</view>
|
||||
<view class="text-value">
|
||||
<input name="verifyPassword" value="{{verifyPassword}}" placeholder="请确认密码" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="btn-area">
|
||||
<button type="primary" formType="submit">登录</button>
|
||||
</view>
|
||||
</form>
|
||||
</view>
|
||||
@@ -0,0 +1,4 @@
|
||||
/* pages/meeting/meeting.wxss */
|
||||
.form-box{
|
||||
transform: translateY(110pt);
|
||||
}
|
||||
Reference in New Issue
Block a user