登录,设置密码,修改密码,我的,首页,会议列表(接口逻辑已写,差加密文件的完善,代联调)

This commit is contained in:
姚亚男
2021-09-30 16:13:12 +08:00
parent d46f96d263
commit 8a2500b5a5
75 changed files with 1532 additions and 58 deletions
+218
View File
@@ -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 () {
}
})
+4
View File
@@ -0,0 +1,4 @@
{
"navigationBarTitleText": "修改密码",
"usingComponents": {}
}
+34
View File
@@ -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>
+4
View File
@@ -0,0 +1,4 @@
/* pages/meeting/meeting.wxss */
.form-box{
transform: translateY(110pt);
}