seasonpkg.ts 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. import * as compnt from "../../../public/js/compnt.js";
  2. import * as unicom from "../../../public/js/unicom.js";
  3. import "../scss/seasonpkg.scss";
  4. import "../../../public/scss/unicom.scss";
  5. init();
  6. function init() {
  7. compnt.showLoading();
  8. unicom.init().then(function(response) {
  9. compnt.hideLoading();
  10. unicom.setProduct(response.product[0]);
  11. unicom.setFesname(response.festival);
  12. // alert(JSON.stringify(unicom.query))
  13. if (!!unicom.query.tradeno) {
  14. showPayQueryDialog();
  15. }
  16. bindSend();
  17. bindOrder();
  18. if (location.href.indexOf('/cancel') >= 0) {
  19. unicom.burypointLogId('110002');// 退订页面pv, pv去重得到uv
  20. } else if (location.href.indexOf('/draw') >= 0) {
  21. unicom.burypointLogId('110003');// 领取页面pv, pv去重得到uv
  22. } else if (location.href.indexOf('/flow') >= 0) {
  23. unicom.burypointLogId('110004');// 流量查询pv, pv去重得到uv
  24. } else if (location.href.indexOf('/active') >= 0) {
  25. unicom.burypointLogId('110005');// 激活页面pv, pv去重得到uv
  26. } else {
  27. // location.href.indexOf('/index') >= 0
  28. // location.href.indexOf('/order') >= 0
  29. unicom.burypointLogId('110001');// 订购页面pv, pv去重得到uv
  30. }
  31. })
  32. bindShowAgr();
  33. }
  34. function bindSend() {
  35. // @ts-ignore
  36. var $container = $('.section-login').find('.form-group');
  37. $container.find('.sendcode').unbind('click').on('click', function () {
  38. unicom.sendSms($container, 'orderlogin');
  39. })
  40. }
  41. function bindOrder() {
  42. // @ts-ignore
  43. var $container = $('.section-login').find('.form-group');
  44. $container.find('.login').unbind('click').on('click', function () {
  45. compnt.showLoading();
  46. unicom.checkCode($container).then(function() {
  47. unicom.orderBack().then(function(response) {
  48. // console.log(response)
  49. compnt.hideLoading();
  50. var data = response;
  51. switch (data.resultCode) {
  52. case "0000":
  53. // compnt.showAlert('领取成功');
  54. // window.location.reload();
  55. // alert(data.web_url + '&redirect_url=' + encodeURIComponent(window.location.href + '&tradeno=' + data.out_trade_no));
  56. data.tradedate = unicom.getNowFormatDate();
  57. data.userid = unicom.user.userid;
  58. pay(data);
  59. break;
  60. default:
  61. compnt.showAlert(response.errorInfo);
  62. break;
  63. }
  64. }).catch(data => {
  65. compnt.hideLoading();
  66. })
  67. }).catch(data => {
  68. compnt.hideLoading();
  69. })
  70. })
  71. }
  72. function bindShowAgr() {
  73. $('#btn-showagr').on('click', function() {
  74. showAgr();
  75. })
  76. }
  77. function showAgr() {
  78. var $overlay = $('<div class="overlay"></div>');
  79. var $dialog = $(
  80. '<section class="section-agr"><div class="container">' +
  81. ' <div class="close">' +
  82. ' <img name="closeBtn" src="./images/close.png">' +
  83. ' </div>' +
  84. ' <div class="title">' +
  85. ' <img src="./images/label-active.png">' +
  86. ' </div>' +
  87. ' <div class="content">' +
  88. ' <ul>' +
  89. ' <li><div class="box-num"><div class="num">01</div></div>' +
  90. ' <p>符合订购约定的中国联通手机(除冰激凌套餐、懂我卡)4G套餐用户均可订购“今日头条定向流量10GB季包(后向)”。其中,4G套餐中的全国共享组合套餐、4G全国套餐主副卡用户和智慧沃家共享套餐中手机用户等共享类套餐用户的手机号码不共享后向定向流量包。手机套餐中流量资费、流量使用规则另有约定的,按照手机套餐执行。</p>' +
  91. ' </li>' +
  92. ' <li><div class="box-num"><div class="num">02</div></div>' +
  93. ' <p>今日头条定向流量包购买后立即生效,连续三个月每月可享受10GB免流服务,订购当月立即到账,次月起每月1日到账,月底自动清零,无法结转。</p>' +
  94. ' </li>' +
  95. ' <li><div class="box-num"><div class="num">03</div></div>' +
  96. ' <p>因该产品为流量包充值,一旦季包订购成功后不可退订。</p>' +
  97. ' </li>' +
  98. ' <li><div class="box-num"><div class="num">04</div></div>' +
  99. ' <p>“今日头条定向流量月包(前向)”和“今日头条定向流量季包(后向)”两者可以叠加订购;叠加订购时,先消耗“今日头条定向流量月包(前向)”中的定向流量,再消耗“今日头条定向流量季包(后向)”中的定向流量,都超出后按照用户所选套餐资费或标准资费及联通公司已审批备案公示的资费标准收取。</p>' +
  100. ' </li>' +
  101. ' <li><div class="box-num"><div class="num">05</div></div>' +
  102. ' <p>用户须处于正常可用状态下才可订购,处于紧急停机(挂失)、欠费停机、停机保号等状态的后付费用户及处于未激活器、充值期、锁定期的预付费用户不可办理。</p>' +
  103. ' </li>' +
  104. ' <li><div class="box-num"><div class="num">06</div></div>' +
  105. ' <p>UNINET、3GNET 、WONET接入点访问能使用该定向流量,其他接入点不能免流使用。</p>' +
  106. ' </li>' +
  107. ' <li><div class="box-num"><div class="num">07</div></div>' +
  108. ' <p>国内指中国内地,不包含港、澳、台地区。</p>' +
  109. ' </li>' +
  110. ' <li><div class="box-num"><div class="num">08</div></div>' +
  111. ' <p>用户成功订购该头条系流量包后,如果遇到页面提示不免流,敬请忽略,正常使用。</p>' +
  112. ' </li>' +
  113. ' <li><div class="box-num"><div class="num">09</div></div>' +
  114. ' <p>用户在该季包生效期间变更套餐、升级5G套餐、或处于紧急停机(挂失)、欠费停机、停机保号等状态可能会发生次月开通失败,开通失败后系统将发起退费请注意查收短信。</p>' +
  115. ' </li>' +
  116. ' </ul>' +
  117. ' </div>' +
  118. '</div></section>'
  119. )
  120. $overlay.appendTo($(document.body))
  121. $dialog.appendTo($(document.body))
  122. $dialog.find('img[name="closeBtn"]').on('click', function() {
  123. $dialog.close();
  124. })
  125. $dialog.close = function () {
  126. $overlay.remove();
  127. $dialog.remove();
  128. $dialog = null;
  129. }
  130. }
  131. function showPayQueryDialog() {
  132. var $overlay = $('<div class="overlay"></div>');
  133. var $dialog = $(
  134. '<div class="dialog-pay">' +
  135. ' <div class="title">' +
  136. ' <span>请确认微信支付是否已完成</span>' +
  137. ' </div>' +
  138. ' <div class="finish">' +
  139. ' <span name="finishspan">已完成支付</span>' +
  140. ' </div>' +
  141. ' <div class="repay">' +
  142. ' <span name="repayspan">支付遇到问题,重新支付</span>' +
  143. ' </div>' +
  144. '</div>');
  145. $overlay.appendTo($(document.body))
  146. $dialog.appendTo($(document.body))
  147. $dialog.find('span[name="finishspan"]').on('click', function() {
  148. queryWxPay(decodeURIComponent(unicom.query.userid));
  149. })
  150. $dialog.find('span[name="repayspan"]').on('click', function() {
  151. var data = {
  152. userid: decodeURIComponent(unicom.query.userid),
  153. web_url: decodeURIComponent(unicom.query.payurl),
  154. out_trade_no: unicom.query.tradeno,
  155. tradedate: unicom.query.tradedate
  156. }
  157. // alert(JSON.stringify(data))
  158. pay(data);
  159. })
  160. }
  161. function pay(data) {
  162. var href = window.location.href;
  163. if (href.indexOf("&tradeno") > 0) {
  164. href = href.substring(0, href.indexOf("&tradeno"));
  165. }
  166. window.location.href = data.web_url +
  167. '&redirect_url=' + encodeURIComponent(href +
  168. '&tradeno=' + data.out_trade_no +
  169. '&tradedate=' + data.tradedate +
  170. '&userid=' + encodeURIComponent(encodeURIComponent(data.userid)) +
  171. '&payurl=' + encodeURIComponent(encodeURIComponent(data.web_url)));
  172. }
  173. function queryWxPay(userid) {
  174. unicom.queryWxPay(unicom.query.tradeno, unicom.query.tradedate, userid).then(function(response) {
  175. var result = response;
  176. if (result.resultCode == "0000" && result.trade_state == "SUCCESS") {
  177. compnt.showAlert('支付成功,请注意接收通知短信。').then(response=>{
  178. window.location.href = window.location.href.replace("tradeno", "tno");
  179. });
  180. return;
  181. }
  182. $('.dialog-pay').css('display', 'none');
  183. switch(result.trade_state) {
  184. case "REFUND":
  185. compnt.showAlert('转入退款').then(function() {
  186. $('.dialog-pay').css('display', 'block');
  187. window.location.href = unicom.root + "-s1api" + '/back/seasonpkg/index.html?'
  188. });
  189. break;
  190. case "NOTPAY":
  191. compnt.showAlert('未支付').then(function() {
  192. $('.dialog-pay').css('display', 'block');
  193. });
  194. break;
  195. case "CLOSED":
  196. compnt.showAlert('已关闭').then(function() {
  197. $('.dialog-pay').css('display', 'block');
  198. });
  199. break;
  200. case "REVOKED":
  201. compnt.showAlert('已撤销(付款码支付)').then(function() {
  202. $('.dialog-pay').css('display', 'block');
  203. });
  204. break;
  205. case "USERPAYING":
  206. compnt.showAlert('用户支付中(付款码支付)').then(function() {
  207. $('.dialog-pay').css('display', 'block');
  208. });
  209. break;
  210. case "PAYERROR":
  211. compnt.showAlert('支付失败(其他原因,如银行返回失败)').then(function() {
  212. $('.dialog-pay').css('display', 'block');
  213. });
  214. break;
  215. default:
  216. compnt.showAlert('支付失败,' + (result.trade_state||result.return_msg)).then(function() {
  217. $('.dialog-pay').css('display', 'block');
  218. });
  219. break;
  220. }
  221. });
  222. return;
  223. }