order.js 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. var ordcoun = 0;
  2. $('#major').unbind('click').on('click',
  3. function() {
  4. $("#major").attr('disabled', true);
  5. $("body").css("overflow", "hidden");
  6. //var $iframe = $('<iframe id="uniauthframe" src="https://cap.chinaunicom.cn/CAP-AUTH/auth-power.html"></iframe>')
  7. var $iframe = $('<iframe id="uniauthframe" src="https://cap.chinaunicom.cn/CAP-AUTH/auth-ttsp.html?t=1657586794237" style="width: 100%;height: 100%;position: fixed;top: 0;left: 0;margin: 0;padding: 0;"-webkit-overflow-scrolling": touch;border: 0px"></iframe>')
  8. var params = {
  9. "PRODUCT_NAME": "9元10G今日头条国内定向流量",
  10. "PRODUCT_PRICE": "9元/月",
  11. "CLIENT_ID": "",
  12. "CLIENT": "3",
  13. "SERVICE_ID": "",
  14. "AUTH_NO": "",
  15. "CLIENT_SECRET": "",
  16. "VERSION": "1.0",
  17. "SERVICE_PHONE": "",
  18. "THEME": "",
  19. "PRODUCT_ID": "6500001700",
  20. "PRODUCT_TYPE": "1"
  21. }
  22. $iframe.on('load', function() {
  23. $.ajax({
  24. //请求后项定向服务获取
  25. url: getRootPath() + "-s1api" + "/ini/clientsecret",
  26. dataType: "JSON",
  27. method: "GET",
  28. success: function(data) {
  29. params.CLIENT_ID = data.client_id;
  30. params.AUTH_NO = data.auth_no;
  31. params.CLIENT_SECRET = data.client_secret;
  32. console.log(params)
  33. $('#uniauthframe')[0].contentWindow.postMessage(
  34. JSON.stringify(params),
  35. "https://cap.chinaunicom.cn/CAP-AUTH/")
  36. }
  37. })
  38. })
  39. $('body').append($iframe);
  40. function order(data, product) {
  41. $("#major").val("正在开通请稍等....!");
  42. //活动页面的订购的逻辑
  43. $.ajax({
  44. type: "POST",
  45. contentType: "application/json; charset=utf-8",
  46. dataType: "Json",
  47. url: getRootPath() + "-s1api" + '/com/buyc',
  48. data: JSON.stringify(GetMasData(product, data.SERVICE_ID, data.RSP.DATA[0].TOKEN)),
  49. success: function(msg) {
  50. var resCode = eval(msg["resultCode"]);
  51. switch (resCode) {
  52. case (0000):
  53. $("#major").val("订购成功!");
  54. break;
  55. case (0013):
  56. $("#major").css("font-size", "0.1rem");
  57. $("#major").val("该号码归属省分2/3G暂未开通此产品!");
  58. break;
  59. case (6608):
  60. $("#major").css("font-size", "0.1rem");
  61. $("#major").val("该号码归属省分,暂未开通此产品!");
  62. break;
  63. case (6611):
  64. $("#major").val("订购失败,请重试!");
  65. $("#major").attr('disabled', false);
  66. ordcoun = 0;
  67. break;
  68. case (6615):
  69. $("#major").val("订购失败,请确定用户套餐!");
  70. break;
  71. case (6622):
  72. $("#major").val("用户已订购过此产品!");
  73. break;
  74. case (7777):
  75. //对7777编码不处理
  76. break;
  77. default:
  78. $("#major").css("font-size", "0.1rem");
  79. $("#major").val(msg["errorInfo"]);
  80. $("#major").attr('disabled', false);
  81. ordcoun = 0;
  82. }
  83. },
  84. error: function(XMLHttpRequest,
  85. textStatus, errorThrown) {
  86. $("#major").attr('disabled', false);
  87. $("#major").val("请求失败,请确认网络是否正常!");
  88. },
  89. });
  90. }
  91. /**
  92. * 订购发送信息包装
  93. * @param product
  94. * @returns {___anonymous5356_5582}
  95. */
  96. function GetMasData(product, phone, tok) {
  97. var data = {
  98. "fog": getMemoValbyId(product, "fog"),
  99. "usermob": phone,
  100. "useraccount": getMemoValbyId(product,
  101. "useraccount"),
  102. "fes": getUrlParam("fes"),
  103. "sou": getUrlParam("sou"),
  104. "token": tok
  105. };
  106. return data;
  107. }
  108. //监听统一认证结果
  109. window.addEventListener('message', function(e) {
  110. var data;
  111. try {
  112. data = JSON.parse(e.data);
  113. } catch(e) {
  114. return;
  115. }
  116. switch (data.RSP.RSP_CODE) {
  117. case "0000": //处理成功
  118. $('iframe').remove();
  119. order(data, 'xx');
  120. ordcoun = 0;
  121. break;
  122. case "0001": //auth_no无效 (入参流水)
  123. $("#major").val("认证失败!");
  124. $("#major").attr('disabled', false);
  125. ordcoun = 0;
  126. case "0003": //client_id不存在 (注册id存在问题)
  127. $("#major").val("认证失败!");
  128. $("#major").attr('disabled', false);
  129. ordcoun = 0;
  130. case "4444": //服务暂时不可用(系统忙/系统队列满)
  131. $("#major").val("服务暂时不可用!");
  132. $("#major").attr('disabled', false);
  133. ordcoun = 0;
  134. case "9001": //关闭H5认证页面
  135. $('iframe').remove();
  136. $("#major").attr('disabled', false);
  137. ordcoun = 0;
  138. break;
  139. }
  140. }, false);
  141. })