window.dx = {'user':{}}; !(function () { var toString = String.prototype.toString; Array.isArray || (Array.isArray = function (obj) { return toString.call(obj) === '[object Array]'; }); })(); (function (dx, window) { dx.query = {}; var QUERY_SEPARATOR = '&', VALUE_SEPARATOR = '='; var queryStr = window.location.search.substring(1); var startIndex = 0, vIndex, qIndex; while (queryStr.length > 0) { vIndex = queryStr.indexOf(VALUE_SEPARATOR, startIndex); if (vIndex == -1) { break; } qIndex = queryStr.indexOf(QUERY_SEPARATOR, vIndex + 1); if (qIndex == -1) { qIndex = queryStr.length; } var key = queryStr.substring(startIndex, vIndex); var value = queryStr.substring(vIndex + 1, qIndex); dx.query[key] = decodeURIComponent(value); startIndex = qIndex + 1; } })(dx, window); !(function (dx, window) { dx.utils = { /** * 消息发送获取Josn数据 * @param method 方法名称 * @param data 发送数据 * @returns 返回的json数据 * 此方法需加载页面头信息与页面显示图标: * 页面必须有 title 标签 * id = "icon" 链接地址 * * 加载页面基本信息: * XX 为活动对应产品表中配置标示 * */ postini: function () { $.ajax({ url: getRootPath() + "-s1api" + '/ini/getstyle', type: "POST", // 用POST方式传输 contentType: "application/json; charset=utf-8", dataType: "Json", data: JSON.stringify(postiniDate()), success: function (msg) { var resCode = msg["resultCode"]; if (resCode == "0000") { var festival = msg["festival"]; theme(festival["title"], festival["icon"]);//加载页面信息头,图标 var productlist = msg["product"]; for (var i = 0, l = productlist.length; i < l; i++) { $("#fog_" + productlist[i].url).attr("value", productlist[i].fog); var smslist = productlist[i].icon.split(","); for (var int = 0; int < smslist.length; int++) { if (int == 0) { $("#sendsms_order_" + productlist[i].url).attr("value", smslist[int]); } if (int == 1) { $("#sendsms_cancel_" + productlist[i].url).attr("value", smslist[int]); } if (int == 2) { $("#sendsms_yuyue_" + productlist[i].url).attr("value", smslist[int]); } } } } else {//未取出对应渠道与活动组数据 goto404(); } }, error: function (XMLHttpRequest, textStatus, errorThrown) {//加载请求失败 goto404(); }, }); }, /** * 获取项目根目录 * @returns */ getRootPath: function () { //获取当前网址,如: http://localhost:8080/ems/Pages/Basic/Person.jsp var curWwwPath = window.document.location.href; //获取主机地址之后的目录,如: /ems/Pages/Basic/Person.jsp var pathName = window.document.location.pathname; var pos = curWwwPath.indexOf(pathName); //获取主机地址,如: http://localhost:8080 var localhostPath = curWwwPath.substring(0, pos); //获取带"/"的项目名,如:/ems var projectName = pathName.substring(0, pathName.substr(1).indexOf('/') + 1); return (localhostPath + projectName); }, /** * 获取项目页面前 * @returns */ getHref: function () { //获取当前网址,如: http://localhost:8080/ems/Pages/Basic/Person.jsp var curWwwPath = window.document.location.href; //获取主机地址之后的目录,如: /ems/Pages/Basic/Person.jsp var pathName = window.document.location.pathname; var pos = curWwwPath.indexOf(pathName); //获取主机地址,如: http://localhost:8080 var localhostPath = curWwwPath.substring(0, pos); //获取带"/"的项目名,如:/ems var projectName = pathName.substring(0, pathName.substr(1).indexOf('/') + 1); return (localhostPath + pathName); }, showToast: function (message) { alert(message) } } dx.funs = { order: function(usermob, token) { var data = { "fog": getMemoValbyId(product, "fog"), "usermob": usermob, "useraccount": getMemoValbyId(product, "useraccount"), "fes": getUrlParam("fes"), "sou": getUrlParam("sou"), "token": token }; dx.flow.showLoading && dx.flow.showLoading(); $.ajax({ type: "POST", contentType: "application/json; charset=utf-8", dataType: "Json", url: dx.utils.getRootPath() + "-s1api" + '/com/buyc', data: JSON.stringify(data), success: function (data) { dx.handler.order && dx.handler.order(data); }, error: function (XMLHttpRequest, textStatus, errorThrown) { dx.utils.showToast("请求失败,请确认网络是否正常!") }, }); }, openCap : function () { //$("#major").attr('disabled', true); //$("body").dx.("overflow", "hidden"); var $iframe = $('') var params = { "PRODUCT_NAME": dx.user.productName, // 产品名称 "PRODUCT_PRICE": dx.user.productPrice, // 产品资费,以元为单位,如10.00元 "CLIENT_ID": "", // client_id:"snjLokl02pK5o8dprOky"---- cp/sp注册后生成的id 头条: 8434545 "CLIENT": "3", // 注册的客户端,1->安卓,2->ios,3->H5 "SERVICE_ID": "", // 手机号(若获取到手机号码则必须传入,否则传空,由用户手动填写) "AUTH_NO": "", // auth_no:"154501722031712345" 秒级时间戳+随机数(5位) "CLIENT_SECRET": "", // Md5(密钥+auth_no)密钥存储在本地,不在网络上传送 "VERSION": "1.0", // 版本 "SERVICE_PHONE": "", // 客户电话,建议传,无则不传 "THEME": "", // 样式主题 空则为默认 "PRODUCT_ID": dx.user.productId, // 产品id "PRODUCT_TYPE": "1" // 产品类型(0:点播;1:包月;2:周期包月) } $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; $('#uniauthframe')[0].contentWindow.postMessage(JSON.stringify(params), "https://cap.chinaunicom.cn/CAP-AUTH/") } }) }) $('body').append($iframe); //监听统一认证结果 window.addEventListener('message', function (e) { var data = JSON.parse(e.data); $('html,body').addClass('ovfHiden'); switch (data.RSP.RSP_CODE) { case "0000": //处理成功 $('#uniauthframe').remove(); dx.handler.openCap && dx.handler.openCap(); break; case "0001"://auth_no无效 (入参流水) case "0003"://client_id不存在 (注册id存在问题) case "0006"://验证码不正确 case "4444"://服务暂时不可用(系统忙/系统队列满) break; case "9001"://关闭H5认证页面 $('#uniauthframe').remove(); break; } }, false); } } })(dx, window);