order.js 5.4 KB

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