2023-11-08 11:26:13 +08:00
|
|
|
|
/**
|
|
|
|
|
* Created by raymondjack on 2018/12/21.
|
|
|
|
|
*/
|
|
|
|
|
|
2024-03-28 14:17:55 +08:00
|
|
|
|
// var pubInfo = {};
|
2023-11-08 11:26:13 +08:00
|
|
|
|
var $toast = $('.toast');
|
|
|
|
|
var $mask = $('.status-mask');
|
|
|
|
|
var lockBol = false;
|
2024-03-28 14:17:55 +08:00
|
|
|
|
let urlPrefix = getUrlPrefix()
|
|
|
|
|
var goToPage = null;
|
|
|
|
|
// 封装layer消息提醒框
|
|
|
|
|
let layerIndex
|
|
|
|
|
const showLoading = (content = '获取结果中...') => {
|
|
|
|
|
layer.open({
|
|
|
|
|
type: 2,
|
|
|
|
|
shadeClose: false,
|
|
|
|
|
content,
|
|
|
|
|
success (e) {
|
|
|
|
|
layerIndex = $(e).attr('index')
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
const hideLoading = (index) => {
|
|
|
|
|
layer.close(index)
|
|
|
|
|
}
|
|
|
|
|
const toastMsg = (content = '操作完成', time = 2) => {
|
|
|
|
|
layer.open({
|
|
|
|
|
content,
|
|
|
|
|
time,
|
|
|
|
|
skin: 'msg'
|
|
|
|
|
})
|
|
|
|
|
}
|
2023-11-08 11:26:13 +08:00
|
|
|
|
$(function () {
|
2024-03-28 14:17:55 +08:00
|
|
|
|
getInfoFromClient()
|
|
|
|
|
var browser = checkVersion();
|
|
|
|
|
var api = getUrlPrefix();
|
|
|
|
|
var timer = null;
|
|
|
|
|
var env = EnvCheck();
|
|
|
|
|
var urlObj = getQueryString();
|
|
|
|
|
console.log(urlObj.uid);
|
|
|
|
|
if (urlObj.uid) {
|
|
|
|
|
sessionStorage.setItem("uid", urlObj.uid);
|
|
|
|
|
sessionStorage.setItem("ticket", urlObj.ticket);
|
|
|
|
|
}
|
|
|
|
|
if (env == 'test') {
|
|
|
|
|
var vConsole = new VConsole();
|
2023-11-08 11:26:13 +08:00
|
|
|
|
}
|
|
|
|
|
|
2024-03-28 14:17:55 +08:00
|
|
|
|
getInfoFromClient && getInfoFromClient()
|
|
|
|
|
if (browser.app) {
|
2023-11-08 11:26:13 +08:00
|
|
|
|
if (browser.android) {
|
2024-03-28 14:17:55 +08:00
|
|
|
|
let channel = JSON.parse(pubInfo.deviceInfo).channel
|
|
|
|
|
if (channel.indexOf('toutiao') != -1 || channel.indexOf('kuaishou') != -1) {
|
|
|
|
|
$('.appName').html('piko')
|
|
|
|
|
}
|
2023-11-08 11:26:13 +08:00
|
|
|
|
}
|
2024-03-28 14:17:55 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var main = {
|
|
|
|
|
init: function () {
|
|
|
|
|
this.getDeviceMsg();
|
|
|
|
|
this.eventRegister();
|
|
|
|
|
var that = this;
|
|
|
|
|
setTimeout(function () {
|
|
|
|
|
that.getData();
|
2024-03-28 17:20:17 +08:00
|
|
|
|
}, 1000)
|
2023-11-08 11:26:13 +08:00
|
|
|
|
|
|
|
|
|
},
|
2024-03-28 14:17:55 +08:00
|
|
|
|
getDeviceMsg: function () {
|
|
|
|
|
// if (browser.app) {
|
|
|
|
|
// if (browser.android) {
|
|
|
|
|
// pubInfo.uid = parseInt(window.androidJsObj.getUid());
|
|
|
|
|
// pubInfo.deviceId = window.androidJsObj.getDeviceId();
|
|
|
|
|
// pubInfo.ticket = window.androidJsObj.getTicket();
|
|
|
|
|
// } else {
|
|
|
|
|
// pubInfo.uid = tools.cookieUtils.get("uid");
|
|
|
|
|
// if (!pubInfo.uid) {
|
|
|
|
|
// window.webkit.messageHandlers.getUid.postMessage(null);
|
|
|
|
|
// }
|
|
|
|
|
// window.webkit.messageHandlers.getDeviceId.postMessage(null);
|
|
|
|
|
// window.webkit.messageHandlers.getTicket.postMessage(null);
|
|
|
|
|
// }
|
|
|
|
|
// } else {
|
|
|
|
|
// pubInfo.uid = 922473;
|
|
|
|
|
// pubInfo.deviceId = "204aa0c983384f1e84a3625b4f04bac1";
|
|
|
|
|
// }
|
2023-11-08 11:26:13 +08:00
|
|
|
|
|
2024-03-28 14:17:55 +08:00
|
|
|
|
// setTimeout(function () {
|
|
|
|
|
// $('.deviceId').val(pubInfo.deviceId);
|
|
|
|
|
// },200)
|
2023-11-08 11:26:13 +08:00
|
|
|
|
},
|
2024-03-28 14:17:55 +08:00
|
|
|
|
getData: function () {
|
|
|
|
|
console.log(urlObj, 'urlObj')
|
|
|
|
|
if (urlObj) {
|
|
|
|
|
pubInfo.auth = urlObj.auth
|
|
|
|
|
} else {
|
|
|
|
|
pubInfo.auth = ''
|
2023-11-08 11:26:13 +08:00
|
|
|
|
}
|
2024-03-28 14:17:55 +08:00
|
|
|
|
console.log(pubInfo.auth, 'pubInfo.auth')
|
|
|
|
|
networkRequest({
|
|
|
|
|
type: 'get',
|
|
|
|
|
url: urlPrefix + '/certification/hasCertify',
|
|
|
|
|
data: {
|
|
|
|
|
uid: pubInfo.uid,
|
|
|
|
|
auth: pubInfo.auth,
|
|
|
|
|
ticket: pubInfo.ticket,
|
|
|
|
|
},
|
|
|
|
|
success: function (res) {
|
|
|
|
|
if (res.code == 200) {
|
|
|
|
|
var checkBol = res.data;
|
|
|
|
|
var $mask = $('.status-mask');
|
|
|
|
|
var bool = !(checkBol.authResult == null || checkBol.authResult == undefined);
|
|
|
|
|
function successFun () {
|
|
|
|
|
hideLoading(layerIndex)
|
|
|
|
|
goToPage = true;
|
|
|
|
|
$mask.addClass("have-identity");
|
|
|
|
|
$mask.find(".text").html("您已通过实名认证");
|
|
|
|
|
$mask.find(".tips").html("系统已成功审核您的实名认证");
|
|
|
|
|
$mask.find(".goto-change").removeClass('hide');
|
|
|
|
|
$mask.show();
|
|
|
|
|
}
|
|
|
|
|
if (bool) {
|
|
|
|
|
if (checkBol.authResult == false && checkBol.canCertify == true && checkBol.hasCertify == false) {
|
|
|
|
|
//重复调用
|
|
|
|
|
showLoading();
|
|
|
|
|
main.getData();
|
|
|
|
|
}else if (checkBol.authResult == false && checkBol.canCertify == false && checkBol.hasCertify == true) {
|
|
|
|
|
//成功
|
|
|
|
|
successFun()
|
|
|
|
|
} else if (checkBol.authResult == true && checkBol.canCertify == false && checkBol.hasCertify == true) {
|
|
|
|
|
//成功
|
|
|
|
|
successFun()
|
|
|
|
|
} else if (checkBol.authResult == true && checkBol.canCertify == true && checkBol.hasCertify == false) {
|
|
|
|
|
//失败
|
|
|
|
|
goToPage = false;
|
|
|
|
|
$mask.addClass("failed");
|
|
|
|
|
$mask.find(".text").html("您未通过实名认证");
|
|
|
|
|
$mask.find(".tips").html("系统审核您的实名认证失败");
|
|
|
|
|
$mask.find(".goto-change").removeClass('hide');
|
|
|
|
|
$mask.show();
|
|
|
|
|
hideLoading(layerIndex)
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
if (checkBol.canCertify == false && checkBol.hasCertify == true) {
|
|
|
|
|
//成功
|
|
|
|
|
successFun()
|
|
|
|
|
} else {//(authResult == null || authResult == undefined) && canCertify == true && hasCertify == false;
|
|
|
|
|
//正在操作
|
|
|
|
|
console.log('继续操作');
|
|
|
|
|
}
|
|
|
|
|
hideLoading(layerIndex)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
error (err) {
|
|
|
|
|
console.log(err);
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
eventRegister: function () {
|
|
|
|
|
$('.button-submit').on('click', function () {
|
|
|
|
|
var name = $('.name').val();
|
|
|
|
|
var personId = $('.person-id').val();
|
|
|
|
|
var phone = `${$('.phone').val()}`;
|
|
|
|
|
var identityCode = $('.identity-code').val();
|
|
|
|
|
var agree = $('#agree').prop("checked");
|
|
|
|
|
if (!agree) {
|
|
|
|
|
toastShow("请同意直播协议");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (!name.trim()) {
|
|
|
|
|
toastShow("名字不能为空");
|
|
|
|
|
return;
|
|
|
|
|
}
|
2023-11-08 11:26:13 +08:00
|
|
|
|
|
2024-03-28 14:17:55 +08:00
|
|
|
|
if (!personId.trim()) {
|
|
|
|
|
toastShow("身份证号不能为空");
|
|
|
|
|
return;
|
|
|
|
|
}
|
2023-11-08 11:26:13 +08:00
|
|
|
|
|
2024-03-28 14:17:55 +08:00
|
|
|
|
if (!phone.trim()) {
|
|
|
|
|
toastShow("手机号不能为空");
|
|
|
|
|
return;
|
|
|
|
|
}
|
2023-11-08 11:26:13 +08:00
|
|
|
|
|
2024-03-28 14:17:55 +08:00
|
|
|
|
if (!identityCode.trim()) {
|
|
|
|
|
toastShow("验证码不能为空");
|
|
|
|
|
return;
|
|
|
|
|
}
|
2023-11-08 11:26:13 +08:00
|
|
|
|
|
2024-03-28 14:17:55 +08:00
|
|
|
|
if (!(/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/).test(personId.trim())) {
|
|
|
|
|
toastShow("身份证号不符合规格");
|
|
|
|
|
return;
|
|
|
|
|
}
|
2023-11-08 11:26:13 +08:00
|
|
|
|
|
2024-03-28 14:17:55 +08:00
|
|
|
|
if (!(/^1[3|4|5|6|7|8|9][0-9]\d{8}$/).test(phone.trim())) {
|
|
|
|
|
toastShow("手机号不符合规格");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (lockBol) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
lockBol = true;
|
|
|
|
|
var metaInfo = window.getMetaInfo();
|
|
|
|
|
var requestParam = {
|
|
|
|
|
certType: 0,
|
|
|
|
|
code: identityCode,
|
|
|
|
|
identityNumber: encryptDes(personId, "1ea53d260ecf11e7b56e00163e046a26"),
|
|
|
|
|
metaInfo: JSON.stringify(metaInfo),
|
|
|
|
|
phone: encryptDes( phone, "1ea53d260ecf11e7b56e00163e046a26"),
|
2024-03-28 16:12:10 +08:00
|
|
|
|
returnUrl: window.location.origin + `/mew/modules/identity/new.html?uid=${pubInfo.uid}&ticket=${pubInfo.ticket}`,
|
2024-03-28 14:17:55 +08:00
|
|
|
|
uid: pubInfo.uid,
|
|
|
|
|
username: encryptDes(name, "1ea53d260ecf11e7b56e00163e046a26"),
|
|
|
|
|
};
|
|
|
|
|
networkRequest({
|
|
|
|
|
type: 'post',
|
|
|
|
|
url: urlPrefix + '/certification/initFace',
|
|
|
|
|
data: requestParam,
|
|
|
|
|
success: function (res) {
|
|
|
|
|
if (res.code == 200) {
|
|
|
|
|
window.location.href = res.data.certifyUrl;
|
|
|
|
|
} else {
|
|
|
|
|
$mask.addClass("failed");
|
|
|
|
|
$mask.find(".text").html("实名认证失败");
|
|
|
|
|
$mask.find(".tips").html(res.message);
|
|
|
|
|
$mask.show();
|
|
|
|
|
lockBol = false;
|
|
|
|
|
setTimeout(function () {
|
|
|
|
|
$('.status-mask').hide();
|
|
|
|
|
}, 4000);
|
|
|
|
|
lockBol = false;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
error (err) {
|
|
|
|
|
console.log(err);
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
})
|
2023-11-08 11:26:13 +08:00
|
|
|
|
|
2024-03-28 14:17:55 +08:00
|
|
|
|
$('.button-identity-code').on('click', function () {
|
|
|
|
|
var phone = $('.phone').val();
|
|
|
|
|
if (!phone.trim()) {
|
|
|
|
|
toastShow("手机号不能为空");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (!(/^1[3|4|5|6|7|8|9][0-9]\d{8}$/).test(phone.trim())) {
|
|
|
|
|
toastShow("手机号不符合规格");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if ($(this).hasClass("disable")) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
$(this).addClass('disable');
|
|
|
|
|
var time = 60;
|
|
|
|
|
var $that = $(this);
|
|
|
|
|
$(this).html(time + 's后重新获取');
|
|
|
|
|
timer = setInterval(function () {
|
|
|
|
|
time--;
|
|
|
|
|
$that.html(time + "s后重新获取");
|
|
|
|
|
if (time < 0) {
|
|
|
|
|
clearInterval(timer);
|
|
|
|
|
$that.removeClass('disable');
|
|
|
|
|
$that.html("获取验证码");
|
|
|
|
|
}
|
|
|
|
|
}, 1000)
|
2023-11-08 11:26:13 +08:00
|
|
|
|
|
2024-03-28 14:17:55 +08:00
|
|
|
|
var requestParam = {
|
|
|
|
|
phone: encryptDes( phone, "1ea53d260ecf11e7b56e00163e046a26"),
|
|
|
|
|
uid: pubInfo.uid,
|
|
|
|
|
ticket: pubInfo.ticket
|
|
|
|
|
};
|
2023-11-08 11:26:13 +08:00
|
|
|
|
|
2024-03-28 14:17:55 +08:00
|
|
|
|
if (browser.android) {
|
|
|
|
|
requestParam.deviceInfo = JSON.stringify({
|
|
|
|
|
deviceId: pubInfo.deviceId
|
|
|
|
|
});
|
|
|
|
|
}
|
2023-11-08 11:26:13 +08:00
|
|
|
|
|
2024-03-28 14:17:55 +08:00
|
|
|
|
networkRequest({
|
|
|
|
|
type: 'post',
|
|
|
|
|
url: urlPrefix + '/certification/send/code',
|
|
|
|
|
data: requestParam,
|
|
|
|
|
success: function (res) {
|
|
|
|
|
if (res.code == 200) {
|
|
|
|
|
toastShow('发送成功');
|
|
|
|
|
} else {
|
|
|
|
|
toastShow(res.message);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
error (err) {
|
|
|
|
|
console.log(err);
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
})
|
2023-11-08 11:26:13 +08:00
|
|
|
|
|
2024-03-28 14:17:55 +08:00
|
|
|
|
// 点击我要修改
|
|
|
|
|
$('.goto-change').on('click', function () {
|
|
|
|
|
$mask.hide();
|
|
|
|
|
$('.layer-box-2').show();
|
|
|
|
|
})
|
2023-11-08 11:26:13 +08:00
|
|
|
|
|
2024-03-28 14:17:55 +08:00
|
|
|
|
// 点击关闭弹层
|
|
|
|
|
$('.layer-2-close').on('click', function () {
|
|
|
|
|
$('.layer-box-2').hide();
|
|
|
|
|
$mask.show();
|
|
|
|
|
})
|
2023-11-08 11:26:13 +08:00
|
|
|
|
|
2024-03-28 14:17:55 +08:00
|
|
|
|
// 点击跳转手机验证
|
|
|
|
|
$('.goto-change-layer').on('click', function () {
|
|
|
|
|
window.location.href = 'mobile.html';
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
main.init();
|
2023-11-08 11:26:13 +08:00
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
2024-03-28 14:17:55 +08:00
|
|
|
|
function toastShow (text) {
|
|
|
|
|
$toast.html(text);
|
|
|
|
|
$toast.show();
|
|
|
|
|
setTimeout(function () {
|
|
|
|
|
$toast.hide();
|
|
|
|
|
}, 2000);
|
2023-11-08 11:26:13 +08:00
|
|
|
|
}
|
|
|
|
|
|
2024-03-28 14:17:55 +08:00
|
|
|
|
function getMessage (key, value) {
|
|
|
|
|
pubInfo[key] = value;
|
2023-11-08 11:26:13 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2024-03-28 14:17:55 +08:00
|
|
|
|
function renderByStatus (status) {
|
|
|
|
|
$mask.attr('class', 'status-mask');
|
|
|
|
|
console.log("开始回调," + "状态为" + status);
|
|
|
|
|
|
|
|
|
|
networkRequest({
|
|
|
|
|
type: 'post',
|
|
|
|
|
url: urlPrefix + '/certification/notify',
|
|
|
|
|
data: {
|
|
|
|
|
uid: pubInfo.uid,
|
|
|
|
|
ticket: pubInfo.ticket,
|
|
|
|
|
token: pubInfo.token,
|
|
|
|
|
statusCode: status
|
|
|
|
|
},
|
|
|
|
|
success: function (res) {
|
|
|
|
|
console.log(res);
|
|
|
|
|
lockBol = false;
|
|
|
|
|
if (res.code == 200) {
|
|
|
|
|
console.log("success");
|
|
|
|
|
if (status == 2) {
|
|
|
|
|
$mask.addClass("success");
|
|
|
|
|
$mask.find(".text").html("认证成功");
|
|
|
|
|
$mask.find('.tips').html('');
|
|
|
|
|
$mask.show();
|
|
|
|
|
} else {
|
|
|
|
|
if (status == -2) {
|
|
|
|
|
$mask.addClass("failed");
|
|
|
|
|
$mask.find(".text").html("认证失败");
|
|
|
|
|
$mask.find(".tips").html("网络不通或者网络异常");
|
|
|
|
|
} else if (status == 1) {
|
|
|
|
|
$mask.addClass("failed");
|
|
|
|
|
$mask.find(".text").html("认证失败");
|
|
|
|
|
$mask.find(".tips").html("审核失败");
|
|
|
|
|
} else {
|
|
|
|
|
console.log('存在异常,status=' + status);
|
|
|
|
|
// window.location.reload();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
$mask.show();
|
|
|
|
|
setTimeout(function () {
|
|
|
|
|
$mask.hide();
|
|
|
|
|
}, 4000);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
error (err) {
|
|
|
|
|
console.log(err);
|
2023-11-08 11:26:13 +08:00
|
|
|
|
}
|
2024-03-28 14:17:55 +08:00
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
console.log('status', status);
|
2023-11-08 11:26:13 +08:00
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//DES加密
|
|
|
|
|
const encryptDes = (message, key) => {
|
2024-03-28 14:17:55 +08:00
|
|
|
|
var keyHex = CryptoJS.enc.Utf8.parse(key);
|
|
|
|
|
var encrypted = CryptoJS.DES.encrypt(message, keyHex, {
|
|
|
|
|
mode: CryptoJS.mode.ECB,
|
|
|
|
|
padding: CryptoJS.pad.Pkcs7
|
|
|
|
|
});
|
|
|
|
|
return encrypted.toString();
|
2023-11-08 11:26:13 +08:00
|
|
|
|
}
|
2024-03-28 14:17:55 +08:00
|
|
|
|
|
|
|
|
|
$('.status-mask').click(function () {
|
|
|
|
|
if (goToPage) {
|
|
|
|
|
// window.location.href = urlPrefix + '/mew/modules/identity/new.html'
|
|
|
|
|
} else {
|
|
|
|
|
$('.status-mask').hide();
|
|
|
|
|
}
|
|
|
|
|
})
|