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.
 

238 lines
5.1 KiB

import util from "../../../utils/util.js"
import user from "../../../utils/https/user.js"
import https from "../../../utils/https.js"
var app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
type:'add',
title: '',
editConfrim: false,
vcode: '',//验证码内容
isFoucs: true,
inputData: {
phone: '',
code: '',
password: '',
confirmPassword: '',
},
canSubmit: false,
code:"",
buttonText:"获取验证码",
sendFlag:true,
regToken:null,
codeId:null,
isApproval: false
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.setData({
type: options.type||'add',
title: options.type=='reset'?'忘记密码':options.type=='edit'?'修改密码':'设置支付密码',
editConfrim: options.type == 'edit'?true:false
})
},
// 编辑输入原密码
passwordChange: function (e) {
let val = e.detail.value
this.setData({
vcode: val
})
if (val.length==6) {
// 验证密码
this.setData({editConfrim: false})
}
},
handleFoucs() {
this.setData({
isFoucs: true
})
},
// 输入框
inputChange:function(e){
let inputData = this.data.inputData
let keyname =e.currentTarget.dataset.keyname;
inputData[keyname] = e.detail.value
this.setData({
inputData: inputData
})
let canSubmit = false
if (this.data.type == 'edit' && inputData.password && inputData.confirmPassword) {
canSubmit = true
}
if (this.data.type != 'edit' && inputData.phone && inputData.code && inputData.password && inputData.confirmPassword) {
canSubmit = true
}
this.setData({canSubmit: canSubmit})
},
// 获取验证码
getCode:function(){
// 如果已经在发送则不能继续发送验证码
if (!this.data.sendFlag){
return false;
}
if(!this.data.inputData.phone){
wx.showToast({
title: '请输入手机号',
icon:"none"
})
return false;
}
if(!util.isTel(this.data.inputData.phone)){
wx.showToast({
title: '请输入正确的手机号码',
icon: "none"
})
return false;
}
// 获取验证码则需要改变按钮的文字
this.setData({
buttonText:"发送中...",
sendFlag:false
})
let service = "user/getMobileCodeForChange",data={
mobile:this.data.inputData.phone,
},api = user.user_post;
if(this.data.regToken){
service="user/getMobileCodeForBind";
data.openid = this.data.regToken
api = user._post
}
api(service, data).then(res=>{
console.log('sendmsg',res)
if(res.code==1){
// 发送成功 即接口调用成功
this.setData({
buttonText: "发送成功",
sendFlag: false,
codeId: res.data.id
})
// 获取成功之后需要马上改变成倒计时
let time = 59;
var timer = setInterval(() => {
// 倒计时结束需要重置可发送验证码状态和按钮文字
if (time < 0) {
// 清除定时器
clearInterval(timer)
this.setData({
buttonText: "重新发送",
sendFlag: true
})
return false;
}
this.setData({
buttonText: time + "秒后重新发送"
})
time--;
}, 1000)
}
else {
this.setData({
buttonText: "重新发送",
sendFlag: true
})
}
})
},
// 绑定
submit:function(){
if(!this.data.inputData.code){
wx.showToast({
title: '请输入验证码',
icon: "none"
})
return false;
}
let service = "user/changeMobile"
let data={smsCode:this.data.inputData.code,mobile:this.data.inputData.phone,smsCodeId:this.data.codeId}
let api = user.user_post;
if(this.data.regToken){
service = "user/wxBindPhoneAndLogin"
data.openid = this.data.regToken
data.fromSource = "WECHATXCX"
if(app.globalData.category_id){
data.category_id = app.globalData.category_id;
}
api = user._post
}
api(service,data).then(res=>{
if(res.code==1){
setTimeout(()=>{
wx.navigateBack({
delta:1
})
},500)
// if(this.data.regToken){
// https.set_logininfo(res);
// }
}
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
}
})