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.
92 lines
2.0 KiB
92 lines
2.0 KiB
|
4 days ago
|
const app = getApp<IAppOption>()
|
||
|
|
let timer = null as null | number
|
||
|
|
|
||
|
|
Page({
|
||
|
|
data: {
|
||
|
|
mobile: '',
|
||
|
|
code: '',
|
||
|
|
|
||
|
|
codeText: '发送验证码',
|
||
|
|
},
|
||
|
|
onLoad() {},
|
||
|
|
onUnload() {
|
||
|
|
if (timer) {
|
||
|
|
clearInterval(timer as number)
|
||
|
|
timer = null
|
||
|
|
}
|
||
|
|
},
|
||
|
|
getCode() {
|
||
|
|
if (timer) return
|
||
|
|
const mobile = this.data.mobile
|
||
|
|
if (!mobile) {
|
||
|
|
wx.showToast({
|
||
|
|
title: '手机号不能为空',
|
||
|
|
icon: 'none',
|
||
|
|
})
|
||
|
|
return
|
||
|
|
}
|
||
|
|
// 验证手机号
|
||
|
|
if (!/^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/.test(mobile)) {
|
||
|
|
wx.showToast({
|
||
|
|
title: '手机号格式不正确',
|
||
|
|
icon: 'none',
|
||
|
|
})
|
||
|
|
return
|
||
|
|
}
|
||
|
|
wx.ajax({
|
||
|
|
method: 'POST',
|
||
|
|
url: '?r=wtx/login/send-verify-code',
|
||
|
|
data: {
|
||
|
|
mobile,
|
||
|
|
},
|
||
|
|
}).then((res) => {
|
||
|
|
console.log(res)
|
||
|
|
wx.showToast({
|
||
|
|
icon: 'none',
|
||
|
|
title: '验证码已发送~',
|
||
|
|
})
|
||
|
|
let time = 60
|
||
|
|
timer = setInterval(() => {
|
||
|
|
time--
|
||
|
|
this.setData({
|
||
|
|
codeText: time + 's后重新发送',
|
||
|
|
})
|
||
|
|
if (time <= 0) {
|
||
|
|
clearInterval(timer as number)
|
||
|
|
timer = null
|
||
|
|
this.setData({
|
||
|
|
codeText: '发送验证码',
|
||
|
|
})
|
||
|
|
}
|
||
|
|
}, 1000)
|
||
|
|
})
|
||
|
|
},
|
||
|
|
handleSubmit() {
|
||
|
|
wx.showModal({
|
||
|
|
title: '确定修改此手机号?',
|
||
|
|
confirmColor: '#F64A3A',
|
||
|
|
success: (res) => {
|
||
|
|
if (!res.confirm) return
|
||
|
|
const { mobile, code } = this.data
|
||
|
|
const { registrationSource, registChannel, regBusinessId } = app.globalData
|
||
|
|
wx.ajax({
|
||
|
|
method: 'POST',
|
||
|
|
url: '?r=wtx/account/update-telephone',
|
||
|
|
data: {
|
||
|
|
mobile,
|
||
|
|
code,
|
||
|
|
registrationSource,
|
||
|
|
registChannel,
|
||
|
|
regBusinessId,
|
||
|
|
},
|
||
|
|
}).then((_res) => {
|
||
|
|
wx.navigateBack()
|
||
|
|
})
|
||
|
|
},
|
||
|
|
})
|
||
|
|
},
|
||
|
|
handleBack() {
|
||
|
|
wx.navigateBack()
|
||
|
|
},
|
||
|
|
})
|