You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

469 lines
11 KiB
JavaScript

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

// pages/realName/index.js
let app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
level: 1,
isFinish: false,
user: {
sex: "",
sexStr: "",
IDCard: "",
realName: "",
idcardImgFrontm: "", // 正面mini照
idcardImgFront: "", // 正面标准照
idcardImgBackm: "", // 反面mini照
idcardImgBack: "", // 反面标准照
},
canFinish: false,
switch1Checked: false,
sexArr: [
{
text: "男",
id: 1,
},
{
text: "女",
id: 2,
},
],
},
switch1Change: function (e) {
console.log("radio发生change事件携带value值为", e.detail.value);
console.log(e.detail.value);
var check = this.data.switch1Checked;
if (check) {
this.data.switch1Checked = false;
console.log("已取消选中");
wx.showToast({
title: "请先阅读并同意《服务协议》及《隐私政策》",
icon: "none",
duration: 2000,
});
} else {
this.data.switch1Checked = true;
console.log("已选中");
}
this.setData({
switch1Checked: this.data.switch1Checked,
});
// if(!e.detail.value){
// }
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
// if (app.globalData.isLogin) {
// this.setData({
// isLogin: app.globalData.isLogin,
// user: app.globalData.user,
// });
// if (this.data.user.idcardImgBack && this.data.user.idcardImgFront) {
// this.setData({
// btnDisabled: false,
// });
// }
// this.data.user["IDCard"] = this.data.user["IDCard"];
// } else {
// // 由于 userLogin 是网络请求,可能会在 Page.onLoad 之后才返回
// // 所以此处加入 callback 以防止这种情况
// app.userLoginCallback = (res) => {
// this.setData({
// isLogin: app.globalData.isLogin,
// user: app.globalData.user,
// });
// if (this.data.user.idcardImgBack && this.data.user.idcardImgFront) {
// this.setData({
// btnDisabled: false,
// });
// }
// this.data.user["IDCard"] = this.data.user["idcard"];
// };
// }
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {},
/**
* 生命周期函数--监听页面显示
*/
onShow() {},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {},
/**
* 用户点击右上角分享
*/
onShareAppMessage1() {},
getId(e) {
console.log(e);
let user = "user.IDCard";
this.setData({
[user]: e.detail.value,
});
console.log(this.data.user.IDCard);
this.idverify();
},
getRealName(e) {
console.log(e);
let user = "user.realName";
this.setData({
[user]: e.detail.value,
});
this.idverify();
},
// toNext(data) {
// console.log(data);
// if (data.currentTarget.dataset.level == 1) {
// if (this.isNotEmptyCheck(this.data.user.idcardImgFront)) {
// this.setData({
// level: 2,
// });
// }
// } else {
// if (this.isNotEmptyCheck(this.data.user.idcardImgBack)) {
// this.setData({
// level: 3,
// });
// }
// }
// this.idverify();
// // this.setData({
// // level : this.data.level <= 2 ? this.data.level + 1 : this.data.level
// // })
// // wx.navigateTo({
// // url: '../realName2/index',
// // })
// // console.log(123);
// },
idverify() {
var username = /^[\u4E00-\u9FA5\uf900-\ufa2d·s]{2,20}$/;
if (this.data.user.IDCard.length == 18 && username.test(this.data.user.realName)) {
this.setData({
canFinish: true,
});
} else {
this.setData({
canFinish: false,
});
}
},
goBack() {
// this.data.level = this.data.level - 1
this.setData({
level: this.data.level >= 1 ? this.data.level - 1 : this.data.level,
isFinish: false,
});
if (this.data.level == 0) {
wx.navigateBack({
delta: 1,
});
}
// this.onLoad()
},
toFinish() {
let that = this;
this.idverify();
console.log(that.data.canFinish);
if (!that.data.switch1Checked) {
wx.showToast({
title: "请先阅读并同意《服务协议》及《隐私政策》",
icon: "none",
duration: 2000,
});
return;
}
if (!that.data.user.idcardImgFront || !that.data.user.idcardImgBack) {
wx.showToast({
title: "请上传身份证照片",
icon: "none",
duration: 2000,
});
return;
}
if (that.data.canFinish) {
wx.showLoading({
title: "保存中...",
mask: true,
});
var realName = that.data.user.realName;
var IDCard = that.data.user.IDCard;
wx.request({
url: app.globalData.ip + "/commons/validatecard",
data: {
name: realName,
cardno: IDCard,
},
header: app.globalData.headers,
method: "POST",
success: function (res) {
console.log(res);
// if (res.data.status == 9999) {
// app.dialogNotLogin();
// return;
// }
var state = res.data.data.state;
// wx.navigateTo({
// url: `/pages/returnMessage/index?from=real&type=success&msg=实名认证成功`,
// });
// app.globalData.loginUserInfo.user.idauth = 1;
// return;
if (state == 101) {
wx.hideLoading();
that.dialog("已被占用", "你输入的身份证号已经被其他人占用了", "知道了");
} else if (state == 102) {
wx.hideLoading();
that.dialog("次数超限", "你今天已经认证失败3次明天再认证吧", "知道了");
} else if (state == 5 || state == 14 || state == 96) {
wx.hideLoading();
that.dialog("认证失败", "姓名或身份证号错误,认证失败", "知道了");
} else if (state == 0) {
that.saveIDCard(realName, IDCard);
} else {
wx.hideLoading();
that.dialog("认证失败", res.data.msg, "知道了");
}
},
});
} else {
wx.showToast({
icon: "none",
title: "请确保信息完整",
duration: 2000,
});
}
},
saveIDCard: function (realName, IDCard) {
let that = this;
wx.request({
url: app.globalData.ip + "/user/auth/authIDCard",
data: {
realName: realName,
IDCard: IDCard,
},
header: app.globalData.headers,
method: "POST",
success: function (res) {
// console.log(res);
if (res.data.status == 200) {
wx.showToast({
title: "保存成功",
icon: "success",
image: "",
duration: 1000,
mask: true,
success: function (res) {
wx.hideLoading();
that.updateSex();
app.globalData.loginUserInfo.user.idauth = 1; //如果身份证上传成功,登录缓存的实名认证状态更新为已实名
// that.makeInfoSuccess();
wx.navigateTo({
url: `../returnMessage/index?from=real&type=success&msg=实名认证成功`,
});
},
fail: function (res) {
wx.hideLoading();
},
complete: function (res) {},
});
} else {
wx.navigateTo({
url: `../returnMessage/index?from=real&type=fail&msg=实名认证失败&status=${res.data.status}`,
});
// app.showTips(that, res.data.msg);
}
},
});
},
dialog: function (title, content, btxt) {
wx.showModal({
title: title,
content: content,
showCancel: false,
confirmColor: "#ff4400",
confirmText: btxt,
success: function (res) {
if (res.confirm) {
console.log("用户点击确定");
} else if (res.cancel) {
console.log("用户点击取消");
}
},
});
},
uploadCard(data) {
var that = this;
// return
let type = data.currentTarget.dataset.type;
console.log(type);
wx.chooseImage({
count: 1, // 默认9
sizeType: ["original", "compressed"], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ["album", "camera"], // 可以指定来源是相册还是相机,默认二者都有
success: function (res) {
wx.showLoading({
title: "上传中",
mask: true,
});
// 返回选定照片的本地文件路径列表tempFilePath可以作为img标签的src属性显示图片
var tempFilePaths = res.tempFilePaths;
var formData = {
type: type,
userId: app.globalData.userId,
};
wx.uploadFile({
url: app.globalData.ip + "/user/auth/uploadImage",
filePath: res.tempFilePaths[0],
name: "uploadFile",
header: app.globalData.headers2, // 设置请求的 header
formData: formData, // HTTP 请求中其他额外的 form data
success: function (res1) {
var result = JSON.parse(res1.data);
console.log(result);
if (result.status == 200) {
if (type == 2) {
that.data.user["idcardImgFrontm"] = result.data.miniUrl;
that.data.user["idcardImgFront"] = result.data.url;
that.data.user["IDCard"] = result.data.IDCard;
that.data.user["realName"] = result.data.realName;
console.log(that.data.user.IDCard);
if (that.data.user.IDCard) {
if (that.data.user.IDCard.slice(16, 17) % 2 == 0) {
that.data.user.sex = 2;
that.data.user.sexStr = "女";
} else {
that.data.user.sex = 1;
that.data.user.sexStr = "男";
}
}
} else if (type == 3) {
that.data.user["idcardImgBackm"] = result.data.miniUrl;
that.data.user["idcardImgBack"] = result.data.url;
}
console.log(that.data.user);
that.setData({
user: that.data.user,
});
} else {
wx.showToast({
icon: "none",
title: result.msg,
duration: 2000,
});
}
//判断是否可以进入下一步
// if (!that.isEmptyCheck(that.data.user.idcardImgFront) && !that.isEmptyCheck(that.data.user.idcardImgBack)) {
// that.setData({
// btnDisabled: false,
// });
// }
wx.hideLoading();
},
fail: function (res2) {
wx.hideLoading();
},
});
},
});
},
updateSex() {
// that.updateSex(that.data.user["IDCard"]);
var formData = {
userId: app.globalData.user.id,
sex: this.data.user.sex,
};
wx.request({
url: app.globalData.ip + "/user/updateSex",
method: "POST",
header: app.globalData.headers,
data: formData,
success: function (res) {
console.log(res);
if (res.data.status == 200) {
// let data = "user.sex";
// app.({
// [data]: formData.sex,
// });
app.globalData.user.sex = formData.sex;
console.log(app.globalData.user.sex);
} else {
wx.showToast({
icon: "none",
title: res.data.msg,
duration: 2000,
});
that.setData({
btnLoading: false,
});
}
},
});
},
isEmptyCheck: function (str) {
if (str == null || str == "" || str == "null" || str == "undefined" || typeof str == "undefined") {
return true;
}
return false;
},
isNotEmptyCheck: function (str) {
return !this.isEmptyCheck(str);
},
tomine() {
wx.navigateBack({
delta: 1,
});
},
changeDateTime(e) {
console.log(e);
console.log(this.data.sex);
if (e.detail.value == 0) {
this.data.user.sexStr = "男";
this.data.user.sex = 1;
} else {
this.data.user.sexStr = "女";
this.data.user.sex = 2;
}
this.setData({
user: this.data.user,
});
},
changeDateTimeColumn(e) {
console.log(e);
},
});