1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219 |
- const regeneratorRuntime = require("../utils/regenerator-runtime/runtime"),
- util = require("../utils/util");
- var sysFailInfo = require("../config").sysFailInfo,
- BASE_URL = "";
- const main = require("../main");
- var tokenExceptionArr = [14, 15],
- idExceptionArr = [2002, 2003, 2006],
- ctx = "";
- Page({
- data: {
- curPage: 1,
- cmsConfig: {},
- skipConfig: {},
- bizData: {},
- token: "",
- preClickBtnTime: 0,
- isNotCamera: !0,
- iKnowFuncs: [],
- index_rule: !1,
- show_about_dlg: !1,
- indexChecked: !0,
- indexDisableBtn: !1,
- show_auth_panel: !1,
- authInfo: "",
- isInfinityDisplay: !1,
- notice: {
- titie: "",
- content: ""
- },
- sms: {
- isForbiddenSmsBtn: !0,
- hintError: "",
- isEnableSendSms: !1,
- is60sGap: !1,
- sendSmsTtitle: "获取验证码",
- gapSec: 60,
- phoneNum: "",
- verifyCode: ""
- },
- ocr: {
- isShowTakePhoto: !1,
- isShowResult: !1,
- isShowGuide: !0,
- isShowPhotoPreView: !1,
- isPhotoFromCamera: !1,
- isFrontIdCard: !0,
- hintError: "",
- hintErrorResult: "",
- isForbiddenManualBtn: !0,
- isForbiddenResultBtn: !1,
- idcard: "",
- idname: "",
- idaddress: "",
- tempImagePath: "",
- ocrTitle: "请拍摄身份证人像面",
- verifycamFullScreen: "verifycamFullScreen",
- isToolsShow: !0,
- isEditTheOcrIsManualInput: !1,
- isInfinityDisplayOcrTitle: "",
- isInfinityDisplayOcrBottom: "",
- isInfinityDisplayOcrMiddle: "",
- frontMediaKey: "",
- backendMediaKey: ""
- },
- livingbody: {
- isShowGuide: !0,
- isShowCamera: !1,
- isShowProcess: !1,
- isShowDialog: !1,
- livingbodyNumber: "",
- isNotPrepareOk: !0,
- getCodeErrMsg: "",
- livingbodyTitle: "请保持正脸对准框内",
- isPrepare: !0,
- curNumberStatus: ["verifyCurrentNumber", "", "", ""],
- curNumber: ["·", "·", "·", "·"],
- isActionSeqNormal: "",
- livingbodyActionText: "",
- livingbodySilentText: "",
- uploadProcess: 0,
- showTestVideo: !1,
- video_preview: "",
- video_src: "",
- isInfinityDisplayHTTitle: "",
- isInfinityDisplayHTBottom: "",
- isInfinityDisplayHTMiddle: "",
- isInfinityDisplayHTActionPre: "",
- isInfinityDisplayHTNumberPre: "",
- isInfinityDisplayHTActionHint: "",
- isInfinityDisplayHTNumberHint: ""
- },
- failPage: {
- is_modal_showing: !1
- },
- successPage: {},
- failInfo: {}
- },
- onLoad: function(i) {
- if (console.log(i), this.setData({
- cmsConfig: wx.verify_CMSConfig,
- token: wx.verify_TOKEN,
- bizData: wx.verify_BizData
- }), console.log("this.data.cmsConfig =", this.data.cmsConfig), console.log(
- `this.data.token = ${this.data.token}`), console.log(
- `wx.verifyBaseUrl = ${wx.verifyBaseUrl}`), console.log(this.data.cmsConfig.page.ocr
- .backend), BASE_URL = wx.verifyBaseUrl, wx.setNavigationBarTitle({
- title: this.data.cmsConfig.justForJumpVer.title,
- success: function() {
- console.log("setNavigationBarTitle success!")
- },
- fail: function(i) {
- console.log("setNavigationBarTitle failure!"), console.log(i)
- }
- }), "true" === i.isNotice) return console.log("is notice"), this.setData({
- curPage: 7
- }), void this.getTheNotice();
- console.log("is not notice"), this.data.cmsConfig.isGetUserLocation && this.getUserLocation(), wx
- .getSystemInfo({
- success: i => {
- console.log(i);
- var o = i.screenHeight / i.screenWidth >= 2;
- i.screenHeight > 700 && o && this.setData({
- isInfinityDisplay: !0,
- "ocr.isInfinityDisplayOcrBottom": "isInfinityDisplayOcrBottom",
- "ocr.isInfinityDisplayOcrMiddle": "isInfinityDisplayOcrMiddle",
- "ocr.isInfinityDisplayOcrTitle": "isInfinityDisplayOcrTitle",
- "livingbody.isInfinityDisplayHTBottom": "isInfinityDisplayHTBottom",
- "livingbody.isInfinityDisplayHTMiddle": "isInfinityDisplayHTMiddle",
- "livingbody.isInfinityDisplayHTTitle": "isInfinityDisplayHTTitle",
- "livingbody.isInfinityDisplayHTActionPre": "isInfinityDisplayHTActionPre",
- "livingbody.isInfinityDisplayHTNumberPre": "isInfinityDisplayHTNumberPre",
- "livingbody.isInfinityDisplayHTActionHint": "isInfinityDisplayHTActionHint",
- "livingbody.isInfinityDisplayHTNumberHint": "isInfinityDisplayHTNumberHint"
- })
- }
- })
- },
- getTheNotice() {
- var i = {
- url: BASE_URL + "notices.php",
- data: {
- appid: this.data.bizData.appid
- }
- };
- util.request(i, i => {
- if (console.log(i), 0 === i.ErrorCode) {
- var o = JSON.parse(i.Data);
- this.setData({
- "notice.content": o[0].content,
- "notice.title": o[0].title
- })
- } else wx.showModal({
- title: "提示",
- content: "获取公告信息失败," + i.ErrorMsg,
- confirmText: "重试",
- showCancel: !1,
- confirmColor: "#2d72f1",
- success: i => {
- i.confirm && this.getTheNotice()
- }
- })
- })
- },
- onReady: function() {},
- onShow: function() {
- this.data.show_auth_panel && setTimeout(() => {
- this.isAuthOk()
- }, 500)
- },
- onHide: function() {},
- onUnload: function() {},
- onPullDownRefresh: function() {},
- onReachBottom: function() {},
- onShareAppMessage: function() {},
- showErrorToast: function(i) {
- if (console.log("showErrorToast", i), 3 === this.data.curPage) {
- if (this.data.ocr.isShowResult) return void this.setData({
- "ocr.hintErrorResult": i.error_msg
- });
- this.data.ocr.isShowTakePhoto && 101 !== i.ErrorCode && -107 !== i.ErrorCode && this.data
- .iKnowFuncs.push(() => {
- this.reTakePhoto()
- })
- }
- this.setData({
- showErrorMsg: !0,
- err: i
- })
- },
- switchDialog: function() {
- if (this.setData({
- showErrorMsg: !this.data.showErrorMsg
- }), 1 === this.data.iKnowFuncs.length) {
- this.data.iKnowFuncs.pop()()
- }
- },
- checkNetWork: function(i) {
- var o = this;
- wx.getNetworkType({
- success: function(e) {
- "none" !== e.networkType ? i() : (console.log("Network is none"), o
- .showErrorToast({
- ErrorCode: 101,
- ErrorMsg: "网络异常,请稍后重试"
- }))
- },
- fail: function(i) {
- console.log("Get Network exception"), o.showErrorToast({
- ErrorCode: 101,
- ErrorMsg: "网络异常,请稍后重试"
- })
- }
- })
- },
- checkRecordNetworkOk: function(i, o) {
- wx.getNetworkType({
- success: function(e) {
- "none" !== e.networkType ? (console.log("network is OK"), i(e.networkType)) : (
- console.log("Network is none"), o({
- ErrorCode: 101,
- ErrorMsg: "网络异常,请稍后再试"
- }))
- },
- fail: function(i) {
- console.log("Get Network exception"), o({
- ErrorCode: 101,
- ErrorMsg: "网络异常,请稍后再试"
- })
- }
- })
- },
- returnAllCheckNetWork(i) {
- wx.getNetworkType({
- success: function(o) {
- i(o.networkType)
- },
- fail: function(o) {
- i("none")
- }
- })
- },
- isNotAllowClick: function() {
- var i = +new Date;
- return i - this.data.preClickBtnTime < 1e3 ? (console.log("Click button gap < 1s, not allow exec"),
- !0) : (this.data.preClickBtnTime = i, console.log("Click button gap > 1s, allow exec"), !1)
- },
- exitVerify(i) {
- i.BizToken = this.data.token, i.ErrorCode = 0, this.data.bizData.endPath ? wx.verifySuccessFunc(i) : wx
- .navigateBack({
- success: function(o) {
- wx.verifySuccessFunc(i)
- }
- })
- },
- exitVerifyFail(i) {
- i.BizToken = this.data.token, this.data.bizData.endPath ? -999 === i.ErrorCode ? wx.navigateBack({
- success: () => {}
- }) : (console.log("exitVerifyFail: this.data.bizData.endPath", this.data.bizData.endPath), wx
- .verifyFailureFunc(i)) : wx.navigateBack({
- success: () => {
- -999 !== i.ErrorCode && wx.verifyFailureFunc(i)
- }
- })
- },
- switchIndexRule: function() {
- this.setData({
- index_rule: !this.data.index_rule
- })
- },
- switchAboutDlg: function() {
- this.setData({
- show_about_dlg: !this.data.show_about_dlg
- })
- },
- checkboxChange(i) {
- this.setData({
- indexDisableBtn: !this.data.indexDisableBtn
- })
- },
- getUserLocation: function() {
- var i = this;
- wx.getLocation({
- type: "wgs84",
- success: function(o) {
- console.log("Get the location success!", o);
- var e = {
- url: BASE_URL + `/api/auth/saveLocation?BizToken=${i.data.token}`,
- data: {
- Longitude: o.longitude,
- Latitude: o.latitude
- }
- };
- util.request(e, function(o) {
- if (0 === o.ErrorCode) console.log("Report location success!");
- else {
- if (console.log(o.ErrorCode), tokenExceptionArr.includes(o
- .ErrorCode)) return void i.exitVerifyFail({
- ErrorCode: o.ErrorCode,
- ErrorMsg: o.ErrorMsg
- });
- i.showErrorToast(o)
- }
- })
- },
- fail: function(i) {
- console.log("Get location failure!"), console.log(i)
- }
- })
- },
- startNativeVerify: function() {
- console.log("直接调用微信原生接口");
- let i = this.data.cmsConfig,
- o = i.Common.WxVerifyTypeIsVideo,
- e = i.Common.WxCheckAliveType;
- util.startNativeVerify(o, e, BASE_URL, this.data.token, this.exitVerifyFail, i => {
- let o = {
- BizToken: this.data.token,
- ErrorCode: i.ErrorCode,
- ErrorMsg: i.ErrorMsg
- };
- 0 === i.ErrorCode ? this.exitVerify(o) : this.exitVerifyFail(o)
- })
- },
- indexToNext: async function() {
- if (!this.isNotAllowClick()) {
- var i = this;
- this.checkNetWork(function() {
- var o = i.data.cmsConfig;
- if (!i.data.cmsConfig.Common.IsWxNative || i.data.cmsConfig.Common.Flow.includes(
- "Ocr")) {
- var e = 2;
- o.isHideSmsPage && (e = o.isHideOcrPage ? 4 : 3), i.setData({
- curPage: e
- }), (4 === e || 3 === e && !i.data.cmsConfig.page.ocr.isManualInput) && i
- .preLivingbodyExec()
- } else i.startNativeVerify()
- })
- }
- },
- phoneNumChanged(i) {
- this.setData({
- "sms.hintError": ""
- });
- var o = i.detail.value;
- this.data.sms.phoneNum = o;
- var e = util.validate(o, "sms_phone");
- console.log(`isPhoneOk: ${e}`), e && !this.data.sms.is60sGap && this.setData({
- "sms.isEnableSendSms": !0
- }), e || this.setData({
- "sms.isEnableSendSms": !1
- });
- var t = util.validate(this.data.sms.verifyCode, "sms_verifyCode");
- e && t ? this.setData({
- "sms.isForbiddenSmsBtn": !1
- }) : this.setData({
- "sms.isForbiddenSmsBtn": !0
- }), console.log(`isEnableSendSms: ${this.data.sms.isEnableSendSms}`)
- },
- sendVerifyCodeReq: function() {
- if (!this.isNotAllowClick()) {
- var i = this;
- this.checkNetWork(function() {
- let o = {
- url: `${BASE_URL}/api/common/sendSmsCode?BizToken=${i.data.token}`,
- data: {
- PhoneNum: i.data.sms.phoneNum
- }
- };
- wx.showLoading({
- title: "短信发送中...",
- mask: !0
- }), util.request(o, function(o) {
- if (wx.hideLoading(), 0 === o.ErrorCode) {
- i.setData({
- "sms.is60sGap": !0,
- "sms.isEnableSendSms": !1,
- "sms.sendSmsTtitle": "重新发送"
- });
- var e = setInterval(function() {
- i.data.sms.gapSec <= 1 && (clearInterval(e), i.setData({
- "sms.is60sGap": !1,
- "sms.gapSec": 60
- }), util.validate(i.data.sms.phoneNum,
- "sms_phone") && i.setData({
- "sms.isEnableSendSms": !0
- })), i.setData({
- "sms.gapSec": i.data.sms.gapSec - 1
- })
- }, 1e3)
- } else {
- if (tokenExceptionArr.includes(o.ErrorCode)) return void i
- .exitVerifyFail(o);
- i.setData({
- "sms.hintError": o.ErrorMsg
- })
- }
- })
- })
- }
- },
- verifyCodeChanged(i) {
- this.setData({
- "sms.hintError": ""
- }), this.data.sms.verifyCode = i.detail.value;
- var o = util.validate(this.data.sms.verifyCode, "sms_verifyCode");
- util.validate(this.data.sms.phoneNum, "sms_phone") && o ? this.setData({
- "sms.isForbiddenSmsBtn": !1
- }) : this.setData({
- "sms.isForbiddenSmsBtn": !0
- })
- },
- smsToNext() {
- if (!this.isNotAllowClick()) {
- var i = this;
- this.checkNetWork(function() {
- console.log(i.data.sms.phoneNum + " | " + i.data.sms.verifyCode);
- let o = {
- url: `${BASE_URL}/api/common/verifySmsCode?BizToken=${i.data.token}`,
- data: {
- PhoneNum: i.data.sms.phoneNum,
- VerifyCode: i.data.sms.verifyCode
- }
- };
- wx.showLoading({
- title: "加载中...",
- mask: !0
- }), util.request(o, function(o) {
- if (wx.hideLoading(), 0 === o.ErrorCode) {
- var e = i.data.cmsConfig;
- if (e.isJustSms) i.exitVerify({});
- else {
- var t = 3;
- e.isHideOcrPage && (t = 4), i.setData({
- curPage: t
- }), (4 === t || 3 === t && !i.data.cmsConfig.page.ocr
- .isManualInput) && i.preLivingbodyExec()
- }
- } else {
- if (tokenExceptionArr.includes(o.ErrorCode)) return void i
- .exitVerifyFail(o);
- i.setData({
- "sms.hintError": o.ErrorMsg
- })
- }
- })
- })
- }
- },
- idcartManualInputChanged(i) {
- var o = i.detail.value;
- this.data.ocr.idcard = o, this.manualInputChanged()
- },
- idnameManualInputChanged(i) {
- var o = i.detail.value;
- this.data.ocr.idname = o, this.manualInputChanged()
- },
- manualInputChanged(i) {
- this.setData({
- "ocr.hintError": ""
- });
- var o = util.validate(this.data.ocr.idcard, "idcard"),
- e = util.validate(this.data.ocr.idname, "idname"),
- t = !0;
- o || 18 !== this.data.ocr.idcard.length ? o && (e && (t = !1), this.setData({
- "ocr.isForbiddenManualBtn": t
- })) : this.setData({
- "ocr.hintError": "身份证号有误,请确认后重新输入"
- })
- },
- manualInputGoNext() {
- this.ocrCommonInputGoNext(!0)
- },
- ocrCommonInputGoNext(i) {
- var o = this;
- this.checkNetWork(function() {
- o.data.cmsConfig;
- wx.showLoading({
- title: "校验身份信息中...",
- mask: !0
- });
- let e = 0;
- "android" === wx.verifySysInfo.platform && (e = 300), setTimeout(() => {
- var e = {
- url: `${BASE_URL}/api/ocr/updateidinfo?BizToken=${o.data.token}`,
- data: {
- Name: o.data.ocr.idname,
- IdCard: o.data.ocr.idcard
- }
- };
- o.data.ocr.idaddress && (e.data.Address = o.data.ocr.idaddress), util.request(e,
- function(e) {
- if (wx.hideLoading(), 0 !== e.ErrorCode) {
- if (tokenExceptionArr.includes(e.ErrorCode)) return void o
- .exitVerifyFail(e);
- let t = {
- "ocr.hintError": e.ErrorMsg
- };
- return i || (t = {
- "ocr.hintErrorResult": e.ErrorMsg
- }), void o.setData(t)
- }
- o.ocrGoNext(i)
- })
- }, e)
- })
- },
- ocrGoNext(i) {
- var o = this;
- if (o.data.cmsConfig.page.ocr.isCheckIDInfo) {
- let e = {
- url: `${BASE_URL}/api/ocr/checkidinfo?BizToken=${this.data.token}`,
- data: {
- Name: this.data.ocr.idname,
- IdCard: this.data.ocr.idcard
- }
- };
- util.request(e, e => {
- if (0 !== e.ErrorCode) {
- if (tokenExceptionArr.includes(e.ErrorCode)) return void o.exitVerifyFail(e);
- let t = {
- "ocr.hintError": e.ErrorMsg
- };
- return console.log(e.ErrorMsg), i || (t = {
- "ocr.hintErrorResult": e.ErrorMsg
- }), void o.setData(t)
- }
- this.ocrGoNextEnd()
- })
- } else this.ocrGoNextEnd()
- },
- ocrGoNextEnd() {
- if (this.data.cmsConfig.isJustOcr) this.exitVerify({
- id_name: this.data.ocr.idname,
- id_number: this.data.ocr.idcard,
- id_address: this.data.ocr.idaddress
- });
- else {
- if (this.data.cmsConfig.Common.IsWxNative) return void this.startNativeVerify();
- this.setData({
- curPage: 4
- }), this.preLivingbodyExec()
- }
- },
- manualInputTakePhone() {
- this.setData({
- "cmsConfig.page.ocr.isManualInput": !1,
- "ocr.isEditTheOcrIsManualInput": !0
- })
- },
- btnclick: function() {
- var i = this.data.cmsConfig.page.ocr.backend;
- console.log(i)
- },
- ocrStartTakePhoto() {
- var i = this;
- this.checkNetWork(function() {
- i.setData({
- "ocr.isShowTakePhoto": !0,
- isNotCamera: !1
- })
- })
- },
- takePhotoWithCamera() {
- var i = this;
- wx.createCameraContext().takePhoto({
- quality: "noraml",
- success: o => {
- console.log(o.tempImagePath), this.setData({
- "ocr.tempImagePath": o.tempImagePath,
- "ocr.isShowPhotoPreView": !0,
- "ocr.ocrTitle": "照片预览",
- "ocr.isPhotoFromCamera": !0
- }), console.log(i.data.ocr.tempImagePath)
- },
- fail: i => {
- wx.showToast({
- title: "takePhoto function exception",
- icon: "none"
- })
- }
- })
- },
- chooseImg() {
- var i = this;
- wx.chooseImage({
- count: 1,
- sizeType: ["compressed"],
- sourceType: ["album"],
- success: function(o) {
- var e = o.tempFilePaths;
- i.setData({
- "ocr.tempImagePath": e[0],
- "ocr.isShowPhotoPreView": !0,
- "ocr.ocrTitle": "照片预览",
- "ocr.isPhotoFromCamera": !1
- }), i.setData({
- "ocr.isToolsShow": !1
- }), i.setData({
- "ocr.isToolsShow": !0
- })
- }
- })
- },
- reTakePhoto() {
- let i = this.data.ocr.isFrontIdCard ? "请拍摄身份证人像面" : "请拍摄身份证国徽面";
- this.setData({
- "ocr.tempImagePath": "",
- "ocr.isShowPhotoPreView": !1,
- "ocr.ocrTitle": i
- })
- },
- startUploadAndOcr() {
- var i = this;
- this.checkNetWork(() => {
- wx.showLoading({
- title: "系统识别中",
- mask: !0
- });
- let o = {
- file: i.data.ocr.tempImagePath
- };
- console.log("upfile data", o), wx.uploadFile({
- url: `${BASE_URL}/api/common/upLoadWxAppFile?BizToken=${i.data.token}`,
- filePath: this.data.ocr.tempImagePath,
- name: "file",
- formData: o,
- success: o => {
- if (console.log("uploadFile | ", o), 200 === o.statusCode) {
- let e = JSON.parse(o.data);
- if (0 === e.ErrorCode) {
- let o = {
- url: `${BASE_URL}/api/ocr/ocrinfo?BizToken=${this.data.token}`,
- data: {
- MediaKey: e.Data.MediaKey,
- PicType: this.data.ocr.isFrontIdCard ? 0 : 1
- }
- };
- console.log("ocrinfo data", o), util.request(o, o => {
- if (wx.hideLoading(), 0 === o.ErrorCode) {
- if (this.data.ocr.isFrontIdCard && this
- .setData({
- "ocr.idcard": o.Data.id,
- "ocr.idname": o.Data.name,
- "ocr.idaddress": o.Data.address
- }), this.data.ocr.isFrontIdCard && this.data
- .cmsConfig.page.ocr.backend)
- return void this.setData({
- "ocr.tempImagePath": "",
- "ocr.isShowPhotoPreView": !1,
- "ocr.ocrTitle": "请拍摄身份证国徽面",
- "ocr.isFrontIdCard": !1
- });
- this.setData({
- "ocr.isShowResult": !0,
- isNotCamera: !0,
- "ocr.verifycamFullScreen": "verifycamFullScreen"
- })
- } else {
- if (tokenExceptionArr.includes(o.ErrorCode))
- return void i.exitVerifyFail(o);
- this.showErrorToast(o)
- }
- })
- } else wx.hideLoading(), this.showErrorToast({
- ErrorCode: 101,
- ErrorMsg: e.ErrorMsg
- })
- } else wx.hideLoading(), this.showErrorToast({
- ErrorCode: 101,
- ErrorMsg: "上传图片失败"
- })
- },
- fail: i => {
- console.log("upload img fail", i), wx.hideLoading(), this
- .showErrorToast({
- ErrorCode: 101,
- ErrorMsg: "上传图片失败"
- })
- }
- })
- })
- },
- idnameInputChanged(i) {
- this.data.ocr.idname = i.detail.value, this.ocrCommonInputCheck()
- },
- idcartInputChanged(i) {
- this.data.ocr.idcard = i.detail.value, this.ocrCommonInputCheck()
- },
- idaddressInputChanged(i) {
- this.data.ocr.idaddress = i.detail.value, this.ocrCommonInputCheck()
- },
- ocrCommonInputCheck() {
- this.setData({
- "ocr.hintErrorResult": ""
- });
- var i = util.validate(this.data.ocr.idcard, "idcard"),
- o = util.validate(this.data.ocr.idname, "idname"),
- e = util.validate(this.data.ocr.idaddress, "idaddress"),
- t = !0;
- i && o && (t = !1), this.data.cmsConfig.page.ocr.isAddress && !e && (t = !0), this.setData({
- "ocr.isForbiddenResultBtn": t
- })
- },
- ocrInputGoNext(i) {
- if (util.validate(this.data.ocr.idcard, "idcard"))
- if (util.validate(this.data.ocr.idname, "idname")) {
- if (this.data.cmsConfig.page.ocr.isAddress)
- if (!util.validate(this.data.ocr.idaddress, "idaddress")) return void this.setData({
- "ocr.hintErrorResult": "住址格式错误"
- });
- console.log("go next"), this.ocrCommonInputGoNext(!1)
- } else this.setData({
- "ocr.hintErrorResult": "姓名格式错误"
- });
- else this.setData({
- "ocr.hintErrorResult": "身份证号格式错误"
- })
- },
- switchLivingbodyDialog(i) {
- this.setData({
- "livingbody.isShowDialog": !this.data.livingbody.isShowDialog
- })
- },
- preLivingbodyExec() {
- var i = this;
- if (4 !== this.data.curPage || 0 !== this.data.cmsConfig.livingbodyType && 1 !== this.data.cmsConfig
- .livingbodyType) i.getAuth();
- else {
- let o = {
- url: `${BASE_URL}/api/liveness/lipcode?BizToken=${i.data.token}`,
- data: {}
- };
- 1 === i.data.cmsConfig.livingbodyType && (o.url =
- `${BASE_URL}/api/liveness/actioncode?BizToken=${i.data.token}`), util.request(o, o => {
- if (0 === o.ErrorCode) {
- console.log("Got the LipCode:" + o.Data.LipCode), console.log(
- "Got the ActionCode:" + o.Data.ActionCode);
- var e = {
- "livingbody.livingbodyNumber": o.Data.LipCode
- };
- 1 === i.data.cmsConfig.livingbodyType && (e = {
- "livingbody.isActionSeqNormal": "21" === o.Data.ActionCode.join("")
- }), this.setData(e), i.getAuth()
- } else {
- if (tokenExceptionArr.includes(o.ErrorCode)) return void i.exitVerifyFail(o);
- this.setData({
- "livingbody.getCodeErrMsg": o.ErrorMsg
- }), i.getAuth()
- }
- })
- }
- },
- getAuth: function() {
- let i = this;
- wx.authorize({
- scope: "scope.camera",
- success() {},
- fail: function() {
- console.log("您未允许使用摄像头权限")
- },
- complete: function() {
- 4 === i.data.curPage ? wx.authorize({
- scope: "scope.record",
- success() {},
- fail: function() {
- console.log("您未允许使用录音权限")
- },
- complete: function() {
- console.log("开始判断是否有权限"), i.isAuthOk()
- }
- }) : i.isAuthOk()
- }
- })
- },
- isAuthOk: function() {
- var i = this;
- wx.getSetting({
- success(o) {
- console.log("获取授权信息成功");
- var e = o.authSetting["scope.record"],
- t = o.authSetting["scope.camera"];
- if (4 === i.data.curPage)
- if (e && t) i.setData({
- show_auth_panel: !1,
- authInfo: "摄像头、录音功能都已授权"
- }), i.authOkToDo(), console.log("摄像头、录音功能都已授权");
- else {
- var a = "";
- t || (a = "摄像头 "), e || (a += "录音功能"), a += "还未授权", console.log(a), i
- .setData({
- show_auth_panel: !0,
- authInfo: a
- })
- }
- else t ? i.setData({
- show_auth_panel: !1,
- authInfo: "摄像头已授权"
- }) : i.setData({
- show_auth_panel: !0,
- authInfo: "摄像头未授权"
- })
- },
- fail: function(i) {
- console.log("获取收取信息失败", i)
- }
- })
- },
- authOkToDo() {
- console.log(this.data.livingbody.livingbodyNumber, this.data.cmsConfig.livingbodyType), 0 === this.data
- .cmsConfig.livingbodyType && "" === this.data.livingbody.livingbodyNumber || 1 === this.data
- .cmsConfig.livingbodyType && "" === this.data.livingbody.isActionSeqNormal ? this
- .theLivingBodyNumberMustBeOk() : (this.livingbodyAutoShowDialog(), this.setData({
- "livingbody.isNotPrepareOk": !1
- }))
- },
- theLivingBodyNumberMustBeOk() {
- var i = this;
- wx.showModal({
- title: "提示",
- content: "获取code失败," + i.data.livingbody.getCodeErrMsg,
- showCancel: !1,
- confirmText: "重新获取",
- confirmColor: "#2d72f1",
- success: function(o) {
- if (o.confirm) {
- console.log("开始重新获取"), wx.showLoading({
- title: "重新获取中...",
- mask: !0
- });
- let o = {
- url: `${BASE_URL}/api/liveness/lipcode?BizToken=${i.data.token}`,
- data: {}
- };
- 1 === i.data.cmsConfig.livingbodyType && (o.url =
- `${BASE_URL}/api/liveness/actioncode?BizToken=${i.data.token}`), util
- .request(o, o => {
- if (wx.hideLoading(), 0 === o.ErrorCode) console.log(
- "Got the LipCode:" + o.Data.LipCode), console.log(
- "Got the ActionCode:" + o.Data.ActionCode), i
- .livingbodyAutoShowDialog(), 1 === i.data.cmsConfig
- .livingbodyType ? i.setData({
- "livingbody.isActionSeqNormal": "21" === o.Data
- .ActionCode.join(""),
- "livingbody.isNotPrepareOk": !1
- }) : i.setData({
- "livingbody.livingbodyNumber": o.Data.LipCode,
- "livingbody.isNotPrepareOk": !1
- });
- else {
- if (tokenExceptionArr.includes(o.ErrorCode)) return void i
- .exitVerifyFail(o);
- i.setData({
- "livingbody.getCodeErrMsg": o.ErrorMsg
- }), i.theLivingBodyNumberMustBeOk()
- }
- })
- }
- }
- })
- },
- livingbodyAutoShowDialog() {
- let i = wx.getStorageSync("isAlreadyShowVideoRule");
- console.log("isAlreadyShowVideoRule:" + i), i || (this.setData({
- "livingbody.isShowDialog": !this.data.livingbody.isShowDialog
- }), wx.setStorage({
- key: "isAlreadyShowVideoRule",
- data: "true"
- }))
- },
- livingbodyStartToRecord() {
- this.checkNetWork(() => {
- console.log("go"), this.setData({
- "livingbody.isShowCamera": !0,
- isNotCamera: !1
- }), setTimeout(() => {
- this.checkRecordNetworkOk(() => {
- ctx = wx.createCameraContext(), console.log("start startRecord", +
- new Date), ctx.startRecord({
- success: i => {
- console.log("startRecord success", +new Date);
- let o = this.data.cmsConfig.livingbodyType,
- e = {
- "livingbody.isPrepare": !1
- },
- t = 0,
- a = 1200,
- s = 1e3,
- r = this.data.livingbody.livingbodyNumber +
- "",
- n = ["", "", "", ""],
- d = ["·", "·", "·", "·"],
- l = this.data.cmsConfig.page.livingbody
- .silentRecordTime - 1;
- if (0 === o) d[t] = r[t], n[t] =
- "verifyCurrentNumber", e[
- "livingbody.livingbodyTitle"] =
- "请大声朗读以下数字", e[
- "livingbody.curNumberStatus"] = n, e[
- "livingbody.curNumber"] = d, s = 1500;
- else if (1 === o) {
- let i = this.data.livingbody
- .isActionSeqNormal;
- e["livingbody.livingbodyTitle"] = "请做以下动作",
- e["livingbody.livingbodyActionText"] =
- i ? "眨眨眼" : "张张嘴", a = 2e3
- } else e["livingbody.livingbodySilentText"] = l,
- a = 1e3;
- this.setData(e);
- let c = setInterval(() => {
- if (0 === o) {
- if (3 === t)
- return clearInterval(c),
- void this
- .stopRecordAndProcess(s);
- d[++t] = r[t], n[t] =
- "verifyCurrentNumber", this
- .setData({
- "livingbody.curNumberStatus": n,
- "livingbody.curNumber": d
- })
- } else if (1 === o) {
- if (1 === t)
- return clearInterval(c),
- void this
- .stopRecordAndProcess(s);
- t++, this.setData({
- "livingbody.livingbodyActionText": this
- .data.livingbody
- .isActionSeqNormal ?
- "张张嘴" : "眨眨眼"
- })
- } else {
- if (0 === l)
- return clearInterval(c),
- void this
- .stopRecordAndProcess(s);
- l--, this.setData({
- "livingbody.livingbodySilentText": l
- })
- }
- }, a)
- },
- fail: i => {
- this.setData({
- "livingbody.isShowGuide": !0,
- "livingbody.isShowCamera": !1,
- isNotCamera: !0,
- "livingbody.isPrepare": !0
- }), console.log("start record fail", +
- new Date, i), this.showErrorToast({
- ErrorCode: -108,
- ErrorMsg: `网络异常,${i.errMsg}`
- })
- },
- timeoutCallback: i => {
- console.log("timeoutCallback", i), this
- .setData({
- "livingbody.isShowGuide": !0,
- "livingbody.isShowCamera": !1,
- isNotCamera: !0,
- "livingbody.isPrepare": !0
- }), this.showErrorToast({
- ErrorCode: -108,
- ErrorMsg: "startRecord timeoutCallback, 请重试!"
- })
- }
- })
- }, i => {
- this.setData({
- "livingbody.isShowGuide": !0,
- "livingbody.isShowCamera": !1,
- isNotCamera: !0
- }), this.showErrorToast(i)
- })
- }, 2e3)
- })
- },
- stopRecordAndProcess(i) {
- console.log("start stopRecord", +new Date), setTimeout(() => {
- console.log("stopTimeGap" + i), console.log(ctx.stopRecord), ctx.stopRecord({
- success: i => {
- console.log("stopRecord success", +new Date, i), wx.getFileInfo({
- filePath: i.tempVideoPath,
- success: o => {
- var e = Math.round(o.size / 1024);
- e > 30720 ? (this.setData({
- "livingbody.isShowGuide": !0,
- "livingbody.isShowCamera": !1,
- isNotCamera: !0,
- "livingbody.isPrepare": !0
- }), this.showErrorToast({
- ErrorCode: -108,
- ErrorMsg: "视频大小超过限制"
- })) : this.processTheVideo(i.tempVideoPath, e +
- "K")
- },
- fail: i => {
- this.setData({
- "livingbody.isShowGuide": !0,
- "livingbody.isShowCamera": !1,
- isNotCamera: !0,
- "livingbody.isPrepare": !0
- }), this.showErrorToast({
- ErrorCode: -108,
- ErrorMsg: `getFileInfo异常,${i.errMsg}`
- })
- }
- })
- },
- fail: i => {
- this.setData({
- "livingbody.isShowGuide": !0,
- "livingbody.isShowCamera": !1,
- isNotCamera: !0,
- "livingbody.isPrepare": !0
- }), this.showErrorToast({
- ErrorCode: -108,
- ErrorMsg: `stopRecord异常,${i.errMsg}`
- })
- },
- complete(i) {
- console.log("complete", i)
- }
- })
- }, i)
- },
- processTheVideo(i, o) {
- this.checkRecordNetworkOk(e => {
- this.goToProcessPage(i, o)
- }, e => {
- this.setData({
- "livingbody.isShowGuide": !0,
- "livingbody.isShowCamera": !1,
- isNotCamera: !0,
- "livingbody.isPrepare": !0
- }), wx.showModal({
- title: "提示",
- content: "网络异常,请检查网络后重试",
- confirmText: "重试",
- confirmColor: "#2d72f1",
- success: e => {
- e.confirm && this.processTheVideo(i, o)
- }
- })
- })
- },
- goToProcessPage(i, o) {
- this.setData({
- "livingbody.isShowGuide": !1,
- "livingbody.isShowCamera": !1,
- "livingbody.isShowProcess": !0,
- isNotCamera: !0,
- "livingbody.isPrepare": !0
- });
- let e = {
- url: `${BASE_URL}/api/common/upLoadWxAppFile?BizToken=${this.data.token}`,
- filePath: i,
- data: {
- file: i
- }
- };
- this.uploadTheVideo(e, o)
- },
- uploadTheVideo(i, o) {
- this.returnAllCheckNetWork(e => {
- "wifi" !== e && "none" !== e ? wx.showModal({
- title: "提示",
- content: `视频大约${o},在移动网络环境下上传会产生手机流量,确认继续?`,
- confirmText: "继续",
- confirmColor: "#2d72f1",
- success: e => {
- e.confirm ? this.uploadTheVideoMain(i, o) : this.setData({
- "livingbody.isShowGuide": !0,
- "livingbody.isShowCamera": !1,
- "livingbody.isShowProcess": !1,
- isNotCamera: !0,
- "livingbody.isPrepare": !0
- })
- }
- }) : this.uploadTheVideoMain(i, o)
- })
- },
- uploadTheVideoMain(i, o) {
- util.uploadFile.call(this, i, e => {
- if (console.log("上传视频成功"), console.log(e), 0 === e.ErrorCode) console.log("uploadSuccess"),
- console.log(e.Data.Data.MediaKey), this.livingbodyVerify(e.Data.Data.MediaKey);
- else {
- var t = "网络异常,上传视频失败";
- 101 !== e.ErrorCode && (t = e.ErrorMsg), wx.showModal({
- title: "提示",
- content: t,
- showCancel: !1,
- confirmText: "重试",
- confirmColor: "#2d72f1",
- success: e => {
- e.confirm && this.uploadTheVideo(i, o)
- }
- })
- }
- })
- },
- livingbodyVerify(i) {
- let o = this.data.cmsConfig.livingbodyType,
- e = "/api/liveness/lipliveness";
- 1 === o ? e = "/api/liveness/actionliveness" : 2 === o && (e = "/api/liveness/silentliveness");
- let t = {
- url: `${BASE_URL}${e}?BizToken=${this.data.token}`,
- data: {
- MediaKey: i
- }
- };
- console.log(t), util.request(t, o => {
- if (console.log(o), 0 === o.ErrorCode) this.data.cmsConfig.page.success.isAutoSkip ? this
- .exitVerify({}) : this.setData({
- curPage: 6
- });
- else if (-107 === o.ErrorCode || 101 === o.ErrorCode) wx.showModal({
- title: "提示",
- content: o.error_msg,
- showCancel: !1,
- confirmText: "重试",
- confirmColor: "#2d72f1",
- success: o => {
- o.confirm && this.livingbodyVerify(i)
- }
- });
- else if (tokenExceptionArr.includes(o.ErrorCode)) this.exitVerifyFail(o);
- else {
- void 0 === o.ErrorCode && (o.ErrorCode = "9999", sysFailInfo[9999].tips1 = o.Data);
- var e = o.ErrorCode + "",
- t = {};
- (t = this.data.cmsConfig.failInfo && this.data.cmsConfig.failInfo[e] ? this.data
- .cmsConfig.failInfo[e] : sysFailInfo[e] ? sysFailInfo[e] : {
- img: "",
- msg: o.ErrorMsg,
- error_code: o.ErrorCode
- }).Data = o.Data || {}, console.log("failInfo: ", t), this.setData({
- failInfo: t,
- curPage: 5
- })
- }
- })
- },
- failReVerify() {
- if (console.log(this.data.failInfo), "无效请求" !== this.data.failInfo.msg && 14 !== this.data.failInfo
- .error_code) {
- var i = 4;
- if (idExceptionArr.includes(this.data.failInfo.error_code)) {
- if (this.data.cmsConfig.isHideOcrPage) return void this.exitVerifyFail({
- Token: this.data.token,
- ErrorCode: this.data.failInfo.error_code,
- ErrorMsg: this.data.failInfo.msg
- });
- i = 3, this.setData({
- "ocr.isShowTakePhoto": !1,
- "ocr.isShowResult": !1,
- "ocr.isShowGuide": !0,
- "ocr.isShowPhotoPreView": !1,
- "ocr.isPhotoFromCamera": !1,
- "ocr.isFrontIdCard": !0,
- "ocr.hintError": "",
- "ocr.hintErrorResult": "",
- "ocr.isForbiddenManualBtn": !0,
- "ocr.isForbiddenResultBtn": !1,
- "ocr.idcard": "",
- "ocr.idname": "",
- "ocr.idaddress": "",
- "ocr.tempImagePath": "",
- "ocr.ocrTitle": "请拍摄身份证人像面",
- "ocr.isToolsShow": !0
- }), this.data.ocr.isEditTheOcrIsManualInput && this.setData({
- "cmsConfig.page.ocr.isManualInput": !0
- })
- }
- this.setData({
- curPage: i,
- "livingbody.isShowGuide": !0,
- "livingbody.isShowCamera": !1,
- "livingbody.isShowProcess": !1,
- "livingbody.isShowDialog": !1,
- "livingbody.livingbodyNumber": "",
- "livingbody.isNotPrepareOk": !0,
- "livingbody.getCodeErrMsg": "",
- "livingbody.livingbodyTitle": "请保持正脸对准框内",
- "livingbody.isPrepare": !0,
- "livingbody.curNumberStatus": ["verifyCurrentNumber", "", "", ""],
- "livingbody.curNumber": ["·", "·", "·", "·"],
- "livingbody.isActionSeqNormal": !0,
- "livingbody.livingbodyActionText": "",
- "livingbody.livingbodySilentText": "",
- "livingbody.uploadProcess": 0
- }), this.preLivingbodyExec()
- } else {
- this.exitVerifyFail({
- ErrorCode: 14,
- ErrorMsg: "由于活体验证时出现网络异常,导致无效请求,需要您重新验证,验证时请保持网络畅通!"
- })
- }
- },
- successGoToNext() {
- this.exitVerify({})
- },
- verifyBackToIndex() {
- var i = {};
- i.Token = this.data.token, i.ErrorCode = -999, i.ErrorMsg = "返回首页成功,如多次验证不通过,可将当前页面截图提供给相关工作人员排查问题 " +
- this.data.bizData.appid + " | " + i.token, this.exitVerifyFail(i)
- },
- switchfailModal() {
- this.setData({
- "failInfo.is_modal_showing": !this.data.failInfo.is_modal_showing
- })
- },
- ocrCameraError: function(i) {
- console.log("ocrCameraError", i)
- },
- bindstop: function(i) {
- console.log(i)
- }
- });
|