// pages/realName/index.js let app = getApp(); import { customRequest } from '../../utils/request.js'; import { baseUrl } from '../../utils/request.js'; 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 () { }, /** * 用户点击右上角分享 */ onShareAppMessage() { return app.sharePageImage() }, 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; customRequest( "/commons/validatecard",{header:'headers', method: 'POST', data: { name: realName, cardno: IDCard,}}).then((res)=>{ 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, "知道了"); } }) // 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; customRequest("/user/auth/authIDCard",{header:'headers', method: 'POST', data: { realName: realName, IDCard: IDCard,}}).then((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: `/pages/returnMessage/index?from=real&type=success&msg=实名认证成功`, }); }, fail: function (res) { wx.hideLoading(); }, complete: function (res) { }, }); } else { wx.navigateTo({ url: `/pages/returnMessage/index?from=real&type=fail&msg=实名认证失败&status=${res.data.status}`, }); // app.showTips(that, res.data.msg); } }) // 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: `/pages/returnMessage/index?from=real&type=success&msg=实名认证成功`, // }); // }, // fail: function (res) { // wx.hideLoading(); // }, // complete: function (res) { }, // }); // } else { // wx.navigateTo({ // url: `/pages/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: "#1890ff", 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: baseUrl + "/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, }; customRequest("/user/updateSex",{header:'headers', method: 'POST', data: formData}).then((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, }); } }) // 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); }, });