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(JSON.stringify(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) { if(ordcoun==0){ ordcoun = 1; var data = JSON.parse(e.data); switch (data.RSP.RSP_CODE) { case "0000": //处理成功 $('iframe').remove(); alert(data.RSP.DATA[0].TOKEN); 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); })