|
|
|
|
|
// 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);
|
|
|
|
|
|
},
|
|
|
|
|
|
});
|