迁移peko跳转

This commit is contained in:
Dragon
2024-03-20 15:26:18 +08:00
parent 8f21ec0807
commit 7797bd0b6e
3 changed files with 377 additions and 355 deletions

File diff suppressed because one or more lines are too long

View File

@@ -2,371 +2,400 @@
* Created by raymondjack on 2018/12/21.
*/
var info = {};
// var pubInfo = {};
var $toast = $('.toast');
var $mask = $('.status-mask');
var lockBol = false;
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'
})
}
$(function () {
var browser = checkVersion();
var api = getUrlPrefix();
var timer = null;
var env = EnvCheck();
var urlObj = getQueryString();
if (env == 'test') {
var vConsole = new VConsole();
}
getInfoFromClient && getInfoFromClient()
if (browser.app) {
if (browser.android) {
let channel = JSON.parse(pubInfo.deviceInfo).channel
if (channel.indexOf('toutiao') != -1 || channel.indexOf('kuaishou') != -1) {
$('.appName').html('音游')
}
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();
}
}
var main = {
init: function () {
this.getDeviceMsg();
this.eventRegister();
var that = this;
setTimeout(function () {
that.getData();
}, 200)
},
getDeviceMsg: function () {
if (browser.app) {
getInfoFromClient && getInfoFromClient()
if (browser.app) {
if (browser.android) {
info.uid = parseInt(window.androidJsObj.getUid());
info.deviceId = window.androidJsObj.getDeviceId();
info.ticket = window.androidJsObj.getTicket();
} else {
info.uid = tools.cookieUtils.get("uid");
if (!info.uid) {
window.webkit.messageHandlers.getUid.postMessage(null);
}
window.webkit.messageHandlers.getDeviceId.postMessage(null);
window.webkit.messageHandlers.getTicket.postMessage(null);
let channel = JSON.parse(pubInfo.deviceInfo).channel
if (channel.indexOf('toutiao') != -1 || channel.indexOf('kuaishou') != -1) {
$('.appName').html('piko')
}
}
} else {
info.uid = 922473;
info.deviceId = "204aa0c983384f1e84a3625b4f04bac1";
}
}
// setTimeout(function () {
// $('.deviceId').val(info.deviceId);
// },200)
},
getData: function () {
console.log(urlObj, 'urlObj')
if (urlObj) {
info.auth = urlObj.auth
} else {
info.auth = ''
}
console.log(info.auth, 'info.auth')
$.ajax({
type: "get",
url: api + "/certification/hasCertify",
headers: {
"pub_ticket": info.ticket
},
data: {
uid: info.uid,
auth: info.auth,
ticket: info.ticket,
var main = {
init: function () {
this.getDeviceMsg();
this.eventRegister();
var that = this;
setTimeout(function () {
that.getData();
}, 200)
},
success: function (res) {
if (res.code == 200) {
var checkBol = res.data;
var $mask = $('.status-mask');
if (checkBol.authResult) {
console.log('已短信验证!')
} else if (checkBol.hasCertify && !checkBol.canCertify) {
console.log('已实名且没有机会了')
$mask.addClass("have-identity");
$mask.find(".text").html("您已通过实名认证");
$mask.find(".tips").html("系统已成功审核您的实名认证");
$mask.show();
} else if (checkBol.hasCertify && checkBol.canCertify) {
console.log('已实名还有一次机会')
// var $mask = $('.status-mask');
$mask.addClass("have-identity");
$mask.find(".text").html("您已通过实名认证");
$mask.find(".tips").html("系统已成功审核您的实名认证");
$mask.find(".goto-change").removeClass('hide');
$mask.show();
}
}
}
})
},
eventRegister: function () {
$('.button-submit').on('click', function () {
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";
// }
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;
}
if (!personId.trim()) {
toastShow("身份证号不能为空");
return;
}
if (!phone.trim()) {
toastShow("手机号不能为空");
return;
}
if (!identityCode.trim()) {
toastShow("验证码不能为空");
return;
}
if (!(/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/).test(personId.trim())) {
toastShow("身份证号不符合规格");
return;
}
if (!(/^1[3|4|5|6|7|8|9][0-9]\d{8}$/).test(phone.trim())) {
toastShow("手机号不符合规格");
return;
}
if (lockBol) {
return;
}
lockBol = true;
var requestParam = {
uid: info.uid,
username: encryptDes(name, "1ea53d260ecf11e7b56e00163e046a26"),
identityNumber: encryptDes(personId, "1ea53d260ecf11e7b56e00163e046a26"),
phone: encryptDes(phone, "1ea53d260ecf11e7b56e00163e046a26"),
code: identityCode,
ticket: info.ticket
};
if (browser.android) {
requestParam.deviceInfo = JSON.stringify({
deviceId: info.deviceId
});
}
$.ajax({
type: "get",
url: api + "/certification/token",
data: requestParam,
headers: {
"pub_ticket": info.ticket
},
success: function (res) {
if (res.code == 200) {
var token = res.data.token;
info.token = token;
// if(browser.app){
if (browser.ios) {
window.webkit.messageHandlers.openFaceLiveness.postMessage(token);
} else {
window.androidJsObj.openFaceLiveness(token);
}
// }
// setTimeout(function () {
// $('.deviceId').val(pubInfo.deviceId);
// },200)
},
getData: function () {
console.log(urlObj, 'urlObj')
if (urlObj) {
pubInfo.auth = urlObj.auth
} else {
if (res.code == 10109) {
$mask.addClass("failed");
$mask.find(".text").html("实名认证失败");
$mask.find(".tips").html("实名次数已达限制");
} else if (res.code == 10110) {
$mask.addClass("have-identity");
$mask.find(".text").html("您已通过实名认证");
$mask.find(".tips").html("系统已成功审核您的实名认证");
} else if (res.code == 4003) {
$mask.addClass("failed");
$mask.find(".text").html("实名认证失败");
$mask.find(".tips").html("验证码错误");
} else {
$mask.addClass("failed");
$mask.find(".text").html("实名认证失败");
$mask.find(".tips").html("请填写真实有效的身份证信息");
}
$mask.show();
lockBol = false;
setTimeout(function () {
$('.status-mask').hide();
}, 4000);
pubInfo.auth = ''
}
}
});
// $.post(api + "/certification/doCheck",requestParam,function (res) {
//
// })
})
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;
}
$('.button-identity-code').on('click', function () {
var phone = $('.phone').val();
if (!phone.trim()) {
toastShow("手机号不能为空");
return;
if (!personId.trim()) {
toastShow("身份证号不能为空");
return;
}
if (!phone.trim()) {
toastShow("手机号不能为空");
return;
}
if (!identityCode.trim()) {
toastShow("验证码不能为空");
return;
}
if (!(/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/).test(personId.trim())) {
toastShow("身份证号不符合规格");
return;
}
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"),
returnUrl: urlPrefix + `/yinmeng/modules/identity/new.html?uid=${sessionStorage.getItem("uid")}&ticket=${sessionStorage.getItem("ticket")}`,
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);
}
})
})
$('.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)
var requestParam = {
phone: encryptDes( phone, "1ea53d260ecf11e7b56e00163e046a26"),
uid: pubInfo.uid,
ticket: pubInfo.ticket
};
if (browser.android) {
requestParam.deviceInfo = JSON.stringify({
deviceId: pubInfo.deviceId
});
}
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);
}
})
})
// 点击我要修改
$('.goto-change').on('click', function () {
$mask.hide();
$('.layer-box-2').show();
})
// 点击关闭弹层
$('.layer-2-close').on('click', function () {
$('.layer-box-2').hide();
$mask.show();
})
// 点击跳转手机验证
$('.goto-change-layer').on('click', function () {
window.location.href = 'mobile.html';
})
}
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)
var requestParam = {
phone: encryptDes(phone, "1ea53d260ecf11e7b56e00163e046a26"),
uid: info.uid,
ticket: info.ticket
};
if (browser.android) {
requestParam.deviceInfo = JSON.stringify({
deviceId: info.deviceId
});
}
$.ajax({
type: "post",
url: api + "/certification/send/code",
headers: {
"pub_ticket": info.ticket
},
data: requestParam,
success: function (res) {
console.log(res, '请求成功');
if (res.code == 200) {
toastShow('发送成功');
} else {
toastShow(res.message);
console.log(res, '报错啦');
}
},
error: function (res) {
toastShow(res.message);
console.log(res, '报错啦');
}
});
})
// 点击我要修改
$('.goto-change').on('click', function () {
$mask.hide();
$('.layer-box-2').show();
})
// 点击关闭弹层
$('.layer-2-close').on('click', function () {
$('.layer-box-2').hide();
$mask.show();
})
// 点击跳转手机验证
$('.goto-change-layer').on('click', function () {
window.location.href = 'mobile.html';
})
}
};
main.init();
};
main.init();
});
function toastShow(text) {
$toast.html(text);
$toast.show();
setTimeout(function () {
$toast.hide();
}, 2000);
function toastShow (text) {
$toast.html(text);
$toast.show();
setTimeout(function () {
$toast.hide();
}, 2000);
}
function getMessage(key, value) {
info[key] = value;
function getMessage (key, value) {
pubInfo[key] = value;
}
function renderByStatus(status) {
$mask.attr('class', 'status-mask');
console.log("开始回调," + "状态为" + status);
$.ajax({
type: 'post',
url: getUrlPrefix() + '/certification/notify',
headers: {
"pub_ticket": info.ticket
},
data: {
uid: info.uid,
ticket: info.ticket,
token: info.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);
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);
}
}
}
});
console.log('status', status);
})
console.log('status', status);
}
//DES加密
const encryptDes = (message, key) => {
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();
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();
}
$('.status-mask').click(function () {
if (goToPage) {
// window.location.href = urlPrefix + '/yinmeng/modules/identity/new.html'
} else {
$('.status-mask').hide();
}
})

View File

@@ -7,7 +7,7 @@
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<title>实名认证</title>
<link rel="stylesheet" href="../../common/css/reset.css">
<link rel="stylesheet" href="./css/index.css?v=1">
<link rel="stylesheet" href="./css/index.css?v=1.0">
<script src="../../common/js/flexible.js"></script>
</head>
@@ -50,9 +50,9 @@
<div class="title">认证须知</div>
<p>1.该认证仅支持中国内地(不含港澳台地区)的用户。</p>
<p>2.请确保填写身份证信息真实并与本人一致。</p>
<p>3.根据国家相关的法律法规,您需要提供您的真实身份信息(真实姓名、身份证号)、身份证正反面照片、面部信息以完成实名验证。您所提供的身份信息仅用于身份验证,未经您本人的许可不会被用于其他用途。这些信息属于个人敏感信息,我们将会尽可能的保护您个人敏感信息的安全。如果您不提供这些信息,您将不能使用提现等相关功能,但不影响您继续使用"<span class="appName">音萌</span>"的其他服务。</p>
<p>3.根据国家相关的法律法规,您需要提供您的真实身份信息(真实姓名、身份证号)、身份证正反面照片、面部信息以完成实名验证。您所提供的身份信息仅用于身份验证,未经您本人的许可不会被用于其他用途。这些信息属于个人敏感信息,我们将会尽可能的保护您个人敏感信息的安全。如果您不提供这些信息,您将不能使用提现等相关功能,但不影响您继续使用本产品的其他服务。</p>
<p>4.为保护用户权益,开启实名认证后我们将不提供解除恢复的功能,请谅解。</p>
<p>5.一个身份证最多用于10个用户账号的实名认证。</p>
<p>5.一个身份证最多用于2个用户账号的实名认证。</p>
<p>6.若人脸认证遇到问题,<a href="../rule/identity-rule.html">请点击这里</a></p>
</div>
<div class="button-submit">开始认证</div>
@@ -64,12 +64,12 @@
</label>
</div>
</div>
<div class="toast">网络异常,请退出重进</div>
<div class="toast"></div>
<div class="status-mask">
<div class="wrapper">
<div class="pic"></div>
<div class="text">fewf</div>
<div class="tips">fwefw</div>
<div class="text"></div>
<div class="tips"></div>
<!-- <button class="goto-change hide">我要修改</button> -->
</div>
</div>
@@ -81,7 +81,7 @@
<a href="javascript:;" class="goto-change-layer"></a>
<!-- <div class="layer-2-body"></div> -->
</div>
</div>
</div>
<!-- layer end -->
<script src="../../common/js/jquery-3.2.1.min.js"></script>
@@ -89,17 +89,9 @@
<script src="../../common/js/common2.js"></script>
<script src="../../common/js/vconsole.min.js"></script>
<script src="../../common/js/crypto-js.js"></script>
<script src="./js/new.js?v=1.0"></script>
<script>
var locateObj = getQueryString();
var appname = $('.appname');
if (locateObj.platform == "planet") {
appname.html("hello处CP");
$('.link-1').attr('href', '../rule/live-protocol.html?platform=planet')
} else {
appname.html("音萌");
}
</script>
<script src="../../common/js/layer.js"></script>
<script src="./js/jsvm_all.js"></script>
<script src="./js/new.js?=2.2"></script>
</body>
</html>