武田小程序
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.

132 lines
2.7 KiB

const app = getApp<IAppOption>();
let timer = 0;
Page({
data: {
menuButtonInfo: {},
mobile: "",
code: "",
protool: false,
codeText: "发送验证码",
},
onLoad() {},
getCode() {
if (timer) return;
const mobile = this.data.mobile;
if (!mobile) {
wx.showToast({
title: "手机号不能为空",
icon: "none",
});
return;
}
// 验证手机号
if (!/^1[3-9,]\d{9}$/.test(mobile)) {
wx.showToast({
title: "手机号格式不正确",
icon: "none",
});
return;
}
wx.ajax({
method: "POST",
url: "?r=takeda/login/send-verify-code",
data: {
mobile,
},
}).then(() => {
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() {
const { mobile, code, protool } = this.data;
if (!protool) {
wx.showToast({
title: "请先勾选协议",
icon: "none",
});
return;
}
if (!mobile) {
wx.showToast({
title: "请输入手机号",
icon: "none",
});
return;
}
if (!code) {
wx.showToast({
title: "请输入验证码",
icon: "none",
});
return;
}
wx.ajax({
method: "POST",
url: "?r=takeda/login/reg-login",
data: {
mobile,
code,
},
}).then((_res) => {
this.submitCallback();
});
},
handleWxSubmit(e: any) {
const { protool } = this.data;
const { iv, encryptedData } = e.detail;
if (!protool) {
wx.showToast({
title: "请先勾选协议",
icon: "none",
});
return;
}
if (iv && encryptedData) {
wx.ajax({
method: "POST",
url: "?r=takeda/login/wx-reg-login",
data: {
iv: encodeURIComponent(iv),
encryptedData: encodeURIComponent(encryptedData),
},
}).then((_res) => {
this.submitCallback();
});
}
},
submitCallback() {
app.globalData.isLogin = 1;
app.waitLogin().then(() => {
wx.reLaunch({ url: "/module1/pages/index/index" });
});
},
handleProtool() {
this.setData({
protool: !this.data.protool,
});
},
handleNavProtool() {
wx.navigateTo({ url: "/module1/pages/loginProtool/index" });
},
});
export {};