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); })