var ordcoun = 0;
$('#major').unbind('click').on('click', function() {
$("#major").attr('disabled', true);
$("body").css("overflow", "hidden");
//var $iframe = $('')
var $iframe = $('')
var params = {
"PRODUCT_NAME": PRODUCT_NAME,
"PRODUCT_PRICE": PRODUCT_PRICE,
"CLIENT_ID": "",
"CLIENT": "3",
"SERVICE_ID": "",
"AUTH_NO": "",
"CLIENT_SECRET": "",
"VERSION": "1.0",
"SERVICE_PHONE": "",
"THEME": "",
"PRODUCT_ID": PRODUCT_ID,
"PRODUCT_TYPE": '1'
}
$iframe.on('load', function() {
$.ajax({
//请求后项定向服务获取
url: getRootPath() + "-s1api" + "/ini/clientsecret",
dataType: "JSON",
method: "GET",
success: function(data) {
params.CLIENT_ID = data.client_id;
params.AUTH_NO = data.auth_no;
params.CLIENT_SECRET = data.client_secret;
console.log(params)
$('#uniauthframe')[0].contentWindow.postMessage(
JSON.stringify(params),
"https://cap.chinaunicom.cn/CAP-AUTH/")
}
})
})
$('body').append($iframe);
function order(data, product) {
$("#major").val("正在开通请稍等....!");
//活动页面的订购的逻辑
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "Json",
url: getRootPath() + "-s1api" + '/com/buyc',
data: JSON.stringify(GetMasData(product, data.SERVICE_ID, data.RSP.DATA[0].TOKEN)),
success: function(msg) {
var resCode = eval(msg["resultCode"]);
switch (resCode) {
case (0000):
$("#major").val("订购成功!");
break;
case (0013):
$("#major").css("font-size", "0.1rem");
$("#major").val("该号码归属省分2/3G暂未开通此产品!");
break;
case (6608):
$("#major").css("font-size", "0.1rem");
$("#major").val("该号码归属省分,暂未开通此产品!");
break;
case (6611):
$("#major").val("订购失败,请重试!");
$("#major").attr('disabled', false);
ordcoun = 0;
break;
case (6615):
$("#major").val("订购失败,请确定用户套餐!");
break;
case (6622):
$("#major").val("用户已订购过此产品!");
break;
case (7777):
//对7777编码不处理
break;
default:
$("#major").css("font-size", "0.1rem");
$("#major").val(msg["errorInfo"]);
$("#major").attr('disabled', false);
ordcoun = 0;
}
},
error: function(XMLHttpRequest,
textStatus, errorThrown) {
$("#major").attr('disabled', false);
$("#major").val("请求失败,请确认网络是否正常!");
},
});
}
/**
* 订购发送信息包装
* @param product
* @returns {___anonymous5356_5582}
*/
function GetMasData(product, phone, tok) {
var data = {
"fog": getMemoValbyId(product, "fog"),
"usermob": phone,
"useraccount": getMemoValbyId(product,
"useraccount"),
"fes": getUrlParam("fes"),
"sou": getUrlParam("sou"),
"token": tok
};
return data;
}
//监听统一认证结果
window.addEventListener('message', function(e) {
var data = JSON.parse(e.data);
switch (data.RSP.RSP_CODE) {
case "0000": //处理成功
$('iframe').remove();
order(data, 'xx');
ordcoun = 0;
break;
case "0001": //auth_no无效 (入参流水)
$("#major").val("认证失败!");
$("#major").attr('disabled', false);
ordcoun = 0;
case "0003": //client_id不存在 (注册id存在问题)
$("#major").val("认证失败!");
$("#major").attr('disabled', false);
ordcoun = 0;
case "4444": //服务暂时不可用(系统忙/系统队列满)
$("#major").val("服务暂时不可用!");
$("#major").attr('disabled', false);
ordcoun = 0;
case "9001": //关闭H5认证页面
$('iframe').remove();
$("#major").attr('disabled', false);
ordcoun = 0;
break;
}
}, false);
})