store/mycomponent/yz_bindMobile/yz_bindMobile.js

263 lines
6.3 KiB
JavaScript

// mycomponent/yz_bindMobile/yz_bindMobile.js
const app = getApp();
Component({
/**
* 组件的属性列表
*/
properties: {
showVer: {
type: null,
},
},
/**
* 组件的初始数据
*/
data: {
showVerification: false, //绑定手机
imgcode: "",
count: "",
form: {
mobile: "",
//验证码
code: "",
captcha: "",
},
showContent: false,
protocol_title: "",
protocol_content: "",
},
observers: {
showVer: function (show) {
this.setData({
showVerification: show,
});
console.log(show, ";sdasdasd");
},
},
lifetimes: {
attached: function() {
// 在组件实例进入页面节点树时执行
this.initShow();
},
detached: function() {
// 在组件实例被从页面节点树移除时执行
},
},
/**
* 组件的方法列表
*/
methods: {
showContentTap(){
this.setData({
showContent:true
});
},
initShow() {
this.getimgdata();
this.getProtocolInfo();
this.showVerification = true;
},
closeShow() {
this.setData({
showVerification: false,
});
},
hide() {
this.setData({
showVerification: false,
});
},
getProtocolInfo() {
var that = this;
var urlStr = app.getNetAddresss("setting.get-member-protocol");
app._getNetWork({
showToastIn: false,
url: urlStr,
success: function (resdata) {
var res = resdata.data;
if (res.result == 1) {
that.setData({
protocol_content: res.data.content,
protocol_title: res.data.title,
});
}
},
fail: function (res) {},
});
},
getimgdata() {
var that = this;
var urlStr = app.getNetAddresss("home-page.getCaptcha");
app._getNetWork({
showToastIn: false,
url: urlStr,
success: function (resdata) {
var res = resdata.data;
if (res.result == 1) {
if (res.data.captcha.status && res.data.captcha.status == "0") {
that.setData({
imgcode: null,
});
}
if (res.data.captcha.img) {
that.setData({
imgcode: res.data.captcha.img,
});
}
}
},
fail: function (res) {},
});
},
tapPhone(e) {
console.log(e);
let key = e.currentTarget.dataset.key;
let tag = e.detail.value;
if (key == "phone") {
this.setData({
"form.mobile": tag,
});
} else if (key == "cap") {
this.setData({
"form.captcha": tag,
});
} else if (key == "code") {
this.setData({
"form.code": tag,
});
}
},
// 获取验证码
VerificationCode() {
if (app._isTextEmpty(this.data.form.captcha) && this.data.imgcode) {
wx.showToast({
title: "请填图形验证码",
icon: "none",
duration: 1000,
});
return;
}
if (app._isTextEmpty(this.data.form.mobile)) {
wx.showToast({
title: "请填写手机号",
icon: "none",
duration: 1000,
});
} else {
wx.showLoading({
title: "发送中",
});
var that = this;
var urlStr = app.getNetAddresss("member.register.sendCodeV2");
app._getNetWork({
showToastIn: false,
url: urlStr,
data: {
mobile: this.data.form.mobile,
captcha: this.data.form.captcha,
},
success: function (resdata) {
var res = resdata.data;
wx.hideLoading({
success: (res) => {},
});
if (res.result == 1) {
that.getCode();
} else {
that.setData({
"form.captcha": "",
});
that.getimgdata();
}
},
fail: function (res) {},
});
}
},
// 60秒倒计时
getCode() {
const TIME_COUNT = 60;
if (!this.data.timer) {
this.data.count = TIME_COUNT;
this.data.timer = setInterval(() => {
if (this.data.count > 0 && this.data.count <= TIME_COUNT) {
this.data.count--;
this.setData({
count:this.data.count
});
} else {
clearInterval(this.timer);
this.data.count = 0;
this.data.timer = null;
this.setData({
count:this.data.count,
timer:this.data.timer
});
}
}, 1000);
}
},
bindMobile() {
//发送获取验证码的请求
if (app._isTextEmpty(this.data.form.mobile)) {
wx.showToast({
title: "手机号码不能为空",
icon: "none",
duration: 1000,
});
return;
}
if (app._isMoblie(this.data.form.mobile)) {
wx.showToast({
title: "请输入正确的手机号",
icon: "none",
duration: 1000,
});
return;
}
if (app._isTextEmpty(this.data.form.code)) {
wx.showToast({
title: "请填写验证码",
icon: "none",
duration: 1000,
});
return;
}
if (this.imgcode) {
if (app._isTextEmpty(this.data.form.captcha)) {
wx.showToast({
title: "图形验证码不能为空",
icon: "none",
duration: 1000,
});
return;
}
}
var that = this;
var urlStr = app.getNetAddresss("member.member.justBindMobile");
app._getNetWork({
showToastIn: false,
url: urlStr,
data: this.data.form,
success: function (resdata) {
var res = resdata.data;
if (res.result == 1) {
wx.showToast({
title: "绑定成功!",
icon: "none",
duration: 1000,
});
that.setData({
showContent: false,
showVerification: false,
});
that.triggerEvent("bindSuccess");
}
},
fail: function (res) {},
});
},
},
});