main.js 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845
  1. import * as compnt from "../../../../public/js/compnt.js";
  2. import * as unicom from "../../../../public/js/unicom.js";
  3. import "../scss/main.scss";
  4. var douyinProductId = "2021073001"
  5. var flowproductid = "2018072301"
  6. var addPoints = 0;
  7. compnt.showLoading();
  8. var $douyinItem = $($('.biao_a').find('.tu')[0]);
  9. var $baiduItem = $($('.biao_a').find('.tu')[1]);
  10. $douyinItem.unbind('click').on('click', function(e) {
  11. orderPageProductChange(douyinProductId)
  12. $douyinItem.addClass('abb');
  13. $(".main").css("display", "block")
  14. // $('#majors').attr('id', 'btn-order')
  15. $baiduItem.removeClass('abc');
  16. $(".mains").css("display", "none")
  17. // $('#major').attr('id', 'btn-order')
  18. // btn-order
  19. $(".section-order").css("display", "block")
  20. $(".section-orders").css("display", "none")
  21. })
  22. $baiduItem.unbind('click').on('click', function() {
  23. orderPageProductChange(flowproductid)
  24. $douyinItem.removeClass('abb');
  25. $(".main").css("display", "none")
  26. // $('#btn-order').attr('id', 'majors')
  27. $baiduItem.addClass('abc');
  28. $(".mains").css("display", "block")
  29. $(".section-orders").css("display", "block")
  30. $(".section-order").css("display", "none")
  31. bindEvent()
  32. if (addPoints == 0) {
  33. unicom.burypointLogId('110001'); // 订购页面pv, pv去重得到uv
  34. WoAnalytics.addPoint({ ad: $('#nanyanads').val(), ett: 'open', ea: 'order_open' + $('#nanyanlabels').val(), ct: 'web', pm: parseInt(unicom.query.sou, 32) })
  35. addPoints = addPoints + 1
  36. }
  37. // $('#major').attr('id', 'btn-order ')
  38. })
  39. $('#tiu').unbind('click').on('click', function() {
  40. unicom.showCancelReasonPage().done(function(cancelReason) {
  41. doShowCancelPage(cancelReason)
  42. })
  43. })
  44. function doShowCancelPage(cancelReason) {
  45. var k = JSON.stringify(cancelReason)
  46. window.localStorage.setItem('kye', k)
  47. if (window.location.href.indexOf("https://800.wo.cn/orderchannel") >= 0) {
  48. window.location.href = "https://800.wo.cn/orderchannel/douyin/poly/cancel.html?fes=jh9&sou=26&pid=2018072301";
  49. } else if (window.location.href.indexOf("http://100.0.4.69:3344") >= 0) {
  50. gotoUrl('douyin/poly/cancel')
  51. }
  52. }
  53. compnt.showLoading();
  54. //alert('开始初始化')
  55. unicom.init().then(function(response) {
  56. compnt.hideLoading();
  57. unicom.product = response.product[0];
  58. unicom.fesname = response.festival;
  59. // alert('页面初始化完成')
  60. findRbtMvs();
  61. bindEvent();
  62. if (location.href.indexOf('/cancel') >= 0) {
  63. unicom.burypointLogId('110002'); // 退订页面pv, pv去重得到uv
  64. WoAnalytics.addPoint({ ad: $('#nanyanad').val(), ett: 'open', ea: 'cancel_open' + $('#nanyanlabel').val(), ct: 'web', pm: parseInt(unicom.query.sou, 32) })
  65. } else if (location.href.indexOf('/draw') >= 0) {
  66. unicom.burypointLogId('110003'); // 领取页面pv, pv去重得到uv
  67. WoAnalytics.addPoint({ ad: $('#nanyanad').val(), ett: 'open', ea: 'draw_open' + $('#nanyanlabel').val(), ct: 'web', pm: parseInt(unicom.query.sou, 32) })
  68. } else if (location.href.indexOf('/flow') >= 0) {
  69. unicom.burypointLogId('110004'); // 流量查询pv, pv去重得到uv
  70. WoAnalytics.addPoint({ ad: $('#nanyanad').val(), ett: 'open', ea: 'flow_open' + $('#nanyanlabel').val(), ct: 'web', pm: parseInt(unicom.query.sou, 32) })
  71. } else if (location.href.indexOf('/active') >= 0) {
  72. unicom.burypointLogId('110005'); // 激活页面pv, pv去重得到uv
  73. WoAnalytics.addPoint({ ad: $('#nanyanad').val(), ett: 'open', ea: 'active_open' + $('#nanyanlabel').val(), ct: 'web', pm: parseInt(unicom.query.sou, 32) })
  74. } else if (location.href.indexOf('/refund') >= 0) {
  75. unicom.burypointLogId('110006'); // 退款
  76. } else {
  77. unicom.burypointLogId('110001'); // 订购页面pv, pv去重得到uv
  78. WoAnalytics.addPoint({ ad: $('#nanyanad').val(), ett: 'open', ea: 'order_open' + $('#nanyanlabel').val(), ct: 'web', pm: parseInt(unicom.query.sou, 32) })
  79. }
  80. })
  81. function orderPageProductChange(productid) {
  82. // console.log(productid)
  83. if (unicom.products[productid] == null) {
  84. return;
  85. }
  86. unicom.product = unicom.products[productid];
  87. // if (productid == flowproductid) {
  88. // $('body').addClass('body-9')
  89. // $('.banner-text').addClass('banner-text-9')
  90. // } else {
  91. // $('body').removeClass('body-9')
  92. // $('.banner-text').removeClass('banner-text-9')
  93. // }
  94. // if (window.location.href.indexOf('/index') >= 0) {
  95. // // 记录当前选择的是哪个产品,等从退订页面返回到订购页面的时候,还能选择同样的产品
  96. // localStorage.setItem('pid', productid);
  97. // localStorage.setItem('pidtime', new Date().getTime())
  98. // }
  99. }
  100. function bindEvent() {
  101. $('#btn-order').unbind('click').on('click', function() {
  102. if (!compnt.lockClick()) {
  103. return;
  104. }
  105. doOrder(null);
  106. })
  107. $('#btn-orders').unbind('click').on('click', function() {
  108. if (!compnt.lockClick()) {
  109. return;
  110. }
  111. doOrder(null);
  112. })
  113. $('#open-agr').unbind('click').on('click', function() {
  114. showDialogAgr();
  115. })
  116. }
  117. function doOrder(ringid) {
  118. unicom.showCapPage().then(function(data) {
  119. compnt.unlockClick();
  120. order(data.userid, data.token, data.usermob, ringid || unicom.query.ringid);
  121. }).fail(function(response) {
  122. compnt.unlockClick();
  123. })
  124. WoAnalytics.addPoint({ ad: $('#nanyanad').val(), ett: 'click', ea: 'order_click_order_btn' + $('#nanyanlabel').val(), ct: 'web', pm: parseInt(unicom.query.sou, 32) })
  125. }
  126. function showCancelPage($parentDialog) {
  127. $parentDialog && $parentDialog.hide();
  128. unicom.showCancelReasonPage().done(function(cancelReason) {
  129. doShowCancelPage(cancelReason)
  130. }).fail(function() {
  131. });
  132. function doShowCancelPage(cancelReason) {
  133. var $overlay = $('<div class="overlay"></div>');
  134. var $dialog = $(
  135. '<div class="fixed-center sms-form section-login"' +
  136. ' <div class="sms-form">' +
  137. ' <div class="form-group">' +
  138. ' <div class="input-row">' +
  139. ' <input class="usermob" type="tel" maxLength="11" name="phone" placeholder="请输入您的手机号码" />' +
  140. ' </div>' +
  141. ' <div class="input-row">' +
  142. ' <input class="smscode" type="tel" maxLength="6" name="sms" placeholder="请输入验证码">' +
  143. ' <span class="sendcode">获取验证码</span>' +
  144. ' </div>' +
  145. ' </div>' +
  146. ' <div class="actions">' +
  147. ' <div class="btn btn-primary cancel">取消</div>' +
  148. ' <div class="btn btn-info okay">确认</div>' +
  149. ' </div>' +
  150. ' </div>' +
  151. '</div>');
  152. $overlay.appendTo($(document.body))
  153. $dialog.appendTo($(document.body))
  154. $('body').css('overflow', 'hidden')
  155. $dialog.close = function() {
  156. $overlay.remove();
  157. $dialog.remove();
  158. $parentDialog && $parentDialog.show();
  159. $("body").css("overflow", "auto");
  160. }
  161. $dialog.find('.cancel').unbind('click').on('click', function() {
  162. $dialog.close()
  163. })
  164. $dialog.find('.sendcode').unbind('click').on('click', function() {
  165. unicom.sendSms($dialog, 'cancellogin');
  166. WoAnalytics.addPoint({ ad: $('#nanyanad').val(), ett: 'click', ea: 'cancel_click_send_sms_code_btn' + $('#nanyanlabel').val(), ct: 'web', pm: parseInt(unicom.query.sou, 32) })
  167. })
  168. $dialog.find('.okay').unbind('click').on('click', function() {
  169. compnt.showLoading();
  170. unicom.checkCode($dialog).done(function() {
  171. compnt.hideLoading();
  172. $dialog.close();
  173. showConfirm('您确定退订视频彩铃包吗?', function() {
  174. doCancel($dialog, $parentDialog, cancelReason)
  175. });
  176. }).fail(function(data) {
  177. compnt.hideLoading();
  178. })
  179. WoAnalytics.addPoint({ ad: $('#nanyanad').val(), ett: 'click', ea: 'cancel_click_confirm_btn' + $('#nanyanlabel').val(), ct: 'web', pm: parseInt(unicom.query.sou, 32) })
  180. return $dialog;
  181. });
  182. WoAnalytics.addPoint({ ad: $('#nanyanad').val(), ett: 'click', ea: 'cancel_open' + $('#nanyanlabel').val(), ct: 'web', pm: parseInt(unicom.query.sou, 32) })
  183. }
  184. }
  185. function doCancel($dialog, $parentDialog, cancelReason) {
  186. compnt.showLoading();
  187. unicom.cancel(null, null, cancelReason.canceltype, cancelReason.cancelmsg).done(function(response) {
  188. compnt.hideLoading();
  189. switch (response.resultCode) {
  190. case "0000":
  191. showAlertDialog('退订成功');
  192. $dialog.close();
  193. $parentDialog.close();
  194. WoAnalytics.addPoint({ ad: $('#nanyanad').val(), ett: 'click', ea: 'cancel_success' + $('#nanyanlabel').val(), ct: 'web', pm: parseInt(unicom.query.sou, 32) })
  195. break;
  196. case "7605": //应该是已经退订了吧,因此不需要在重复退订啦
  197. compnt.showAlert(response.errorInfo);
  198. $dialog.close();
  199. $parentDialog.close();
  200. WoAnalytics.addPoint({ ad: $('#nanyanad').val(), ett: 'click', ea: 'cancel_failure' + $('#nanyanlabel').val(), ct: 'web', pm: parseInt(unicom.query.sou, 32) })
  201. break;
  202. default:
  203. var prefix = '';
  204. if (response.errorInfo.indexOf('退订失败') < 0) {
  205. prefix = '退订失败,';
  206. }
  207. compnt.showAlert(prefix + response.errorInfo);
  208. WoAnalytics.addPoint({ ad: $('#nanyanad').val(), ett: 'click', ea: 'cancel_failure' + $('#nanyanlabel').val(), ct: 'web', pm: parseInt(unicom.query.sou, 32) })
  209. break;
  210. }
  211. }).fail(function(data) {
  212. compnt.hideLoading();
  213. })
  214. }
  215. function findRbtMvs() {
  216. findRbtMvss().then(function(data) {
  217. // alert('列表加载完成')
  218. window.rbtMvList = JSON.parse(data).data;
  219. window.rbtMvListLength = JSON.parse(data).data.length;
  220. for (var i = 0; i < window.rbtMvList.length; i++) {
  221. window.rbtMvList[i]['shown'] = '0';
  222. }
  223. showRbtMvs();
  224. }).fail(function(response) {
  225. })
  226. }
  227. function findRbtMvss(productid) {
  228. var param = {
  229. "productid": productid,
  230. "fog": 'df3958be828815ec18613612fa1e7a55e6077a33cfc0098b64a25eeabaa4e118b806cbda3b123edf230cca1bb4d81cfab6cfb4426a44c74048fd613bddd4165c96a3672b793a9ed13fd22c1057f475dfeb62d61cdd6e1c116fb001ce236ffa65dd6c41c5537ae6a7ecac4570319f817bc2c17a86c5d024d9aa920aff9f1e2f48f129289fd6713b56956a922787dd184a124f7f1c16f64a6d6e2e9e7241ed51ebd6ad5c0c0af844ce616567bf6867b64b'
  231. }
  232. return $.ajax({
  233. url: root + "-s1api" + '/rbtmv/findRbtMvs',
  234. type: "POST",
  235. contentType: "application/json",
  236. data: JSON.stringify(param)
  237. });
  238. }
  239. function showRbtMvs(label) {
  240. $('#rbt-item-box').empty();
  241. var labelMap = {};
  242. for (var i = 0; i < window.rbtMvList.length; i++) {
  243. if (labelMap[window.rbtMvList[i].label] == null) {
  244. labelMap[window.rbtMvList[i].label] = '其它';
  245. }
  246. }
  247. // 重排序,使热门排在第一个
  248. var labelList = []
  249. $.each(labelMap, function(item, i) {
  250. if (item == '热门') {
  251. labelList[labelList.length] = labelList[0];
  252. labelList[0] = item;
  253. } else {
  254. labelList[labelList.length] = item;
  255. }
  256. })
  257. $.each(labelList, function(i, item) {
  258. var $item = $('<div id="' + item + '" class="item" total="0" showcount="0" oldshowcount="0">' + item + '</div>');
  259. if (label == null && item == '热门') {
  260. $item.addClass('item-active');
  261. label = '热门';
  262. }
  263. $item.on('click', function(event) {
  264. if ($(event.target).hasClass('item-active')) {
  265. return;
  266. }
  267. // 删除以前选择的
  268. $('#rbt-item-box .item-active').removeClass('item-active');
  269. $(event.target).addClass('item-active');
  270. $(event.target).attr("showcount", "0"); //用于翻页
  271. $(event.target).attr("oldshowcount", "0");
  272. $('#rbtmv-container').attr('scrollTop', 0);
  273. $('#rbtmv-content').empty();
  274. for (var i = 0; i < window.rbtMvList.length; i++) {
  275. window.rbtMvList[i]['shown'] = '0';
  276. }
  277. showRbtMvsBody($(event.target).html());
  278. })
  279. for (var i = 0; i < window.rbtMvList.length; i++) {
  280. if (window.rbtMvList[i].label == item) {
  281. var total = $item.attr("total");
  282. $item.attr("total", parseInt(total) + 1);
  283. }
  284. }
  285. $item.appendTo($('#rbt-item-box'));
  286. })
  287. // alert('标题加载完成')
  288. showRbtMvsBody(label);
  289. }
  290. function showRbtMvsBody(label) {
  291. for (var i = 0; i < window.rbtMvList.length; i++) {
  292. if (window.rbtMvList[i].label == label) {
  293. var total = parseInt($('#' + label).attr("total"));
  294. var showcount = parseInt($('#' + label).attr("showcount"));
  295. var oldshowcount = parseInt($('#' + label).attr("oldshowcount"));
  296. if (showcount == oldshowcount + 6) {
  297. $('#' + label).attr("oldshowcount", showcount);
  298. break;
  299. }
  300. if (window.rbtMvList[i]['shown'] == '1') {
  301. continue;
  302. }
  303. $('#' + label).attr("showcount", showcount + 1);
  304. window.rbtMvList[i]['shown'] = '1';
  305. var $item = $(
  306. '<div class="rbt-item">' +
  307. ' <div class="rbt-main" src="' + window.rbtMvList[i].videUrl + '" poster="' + window.rbtMvList[i].coverUrl +
  308. '" contentid="' + window.rbtMvList[i].contentid + '" contentname="' + window.rbtMvList[i].contentname + '">' +
  309. ' <img class="rbt-cover" src="' + window.rbtMvList[i].coverUrl + '">' +
  310. ' <img class="rbt-play" src="v1/images/icon-play.png">' +
  311. ' <div class="btn btn-setting">设为彩铃</div>' +
  312. ' </div>' +
  313. ' <div class="rbt-title">' + window.rbtMvList[i].contentname + '</div>' +
  314. '</div>');
  315. $item.find('.rbt-play').unbind('click').on('click', function(event) {
  316. var videoUrl = $(event.target).parent().attr('src');
  317. var poster = $(event.target).parent().attr('poster');
  318. var ringid = $(event.target).parent().attr('contentid');
  319. var ringname = $(event.target).parent().attr('contentname');
  320. showDialogPreview(videoUrl, ringid, ringname, poster);
  321. });
  322. $item.find('.btn-setting').on('click', function() {
  323. var ringid = $(event.target).parent().attr('contentid');
  324. var ringname = $(event.target).parent().attr('contentname');
  325. setting(ringid, ringname);
  326. });
  327. $item.appendTo($('#rbtmv-content'));
  328. // 已经显示到底了
  329. if (total == showcount + 1) {
  330. var $dom = $('<div class="no-more"><div class="line"></div><div class="title">已经到底啦</div><div class="line"></div></div>')
  331. $dom.appendTo($('#rbtmv-content'))
  332. }
  333. }
  334. }
  335. }
  336. function setting(ringid, ringname) {
  337. if (ringid == null || ringid.trim() == "") {
  338. compnt.showAlert("请选择一个视频彩铃!");
  339. return;
  340. }
  341. var user = unicom.loadUserInfo();
  342. if (user != null && user.userid != null) {
  343. queryOrderStatusForSetting(user.userid, null, ringid, ringname);
  344. } else {
  345. showDialogMobile(ringid, ringname);
  346. }
  347. }
  348. function settingExecutor(ringid, ringname) {
  349. var usermob = unicom.user.usermob.substr(0, 3) + 'xxxx' + unicom.user.usermob.substr(7, 4);
  350. var message = '确认设置“' + ringname + '” 为' + usermob + '的视频彩铃吗?';
  351. showConfirm(message, function() {
  352. compnt.showLoading();
  353. unicom.setting(ringid).done(function(data) {
  354. compnt.hideLoading();
  355. if (data.resultCode == "0000") {
  356. showAlertDialog('设置成功')
  357. WoAnalytics.addPoint({ ad: $('#nanyanad').val(), ett: 'click', ea: 'draw_success' + $('#nanyanlabel').val(), ct: 'web', pm: parseInt(unicom.query.sou, 32) })
  358. } else {
  359. compnt.showAlert(data.errorInfo);
  360. WoAnalytics.addPoint({ ad: $('#nanyanad').val(), ett: 'click', ea: 'draw_failure' + $('#nanyanlabel').val(), ct: 'web', pm: parseInt(unicom.query.sou, 32) })
  361. }
  362. WoAnalytics.addPoint({ ad: $('#nanyanad').val(), ett: 'click', ea: 'draw_click_confirm_btn' + $('#nanyanlabel').val(), ct: 'web', pm: parseInt(unicom.query.sou, 32) })
  363. });
  364. })
  365. }
  366. function showDialogMobile(ringid, ringname) {
  367. var $overlay = $('<div class="overlay"></div>');
  368. var $dialog = $(
  369. '<div class="fixed-center section-setting">' +
  370. ' <div class="content">' +
  371. ' <div class="form-group">' +
  372. ' <input class="mobile" maxLength="11" type="tel" placeholder="输入联通手机号码">' +
  373. ' </div>' +
  374. ' </div>' +
  375. ' <div class="actions">' +
  376. ' <div class="btn btn-lg btn-primary">去设置</div>' +
  377. ' </div>' +
  378. '</div>');
  379. $overlay.appendTo($(document.body))
  380. $dialog.appendTo($(document.body))
  381. $dialog.close = function() {
  382. $overlay.remove();
  383. $dialog.remove();
  384. }
  385. $dialog.find('.btn').on('click', function(event) {
  386. var mobile = $dialog.find('.mobile').val();
  387. if (mobile == null || mobile.length != 11) {
  388. compnt.showAlert('请输入正确的手机号码!');
  389. return;
  390. }
  391. $dialog.close();
  392. queryOrderStatusForSetting(null, mobile, ringid, ringname);
  393. })
  394. $overlay.on('click', function() {
  395. $dialog.close();
  396. })
  397. return $dialog;
  398. }
  399. function queryOrderStatusForSetting(userid, mobile, ringid, ringname) {
  400. unicom.loadUserInfo();
  401. if (unicom.user != null && unicom.user.userid != null && (
  402. unicom.user.orderStatus == "0000" ||
  403. unicom.user.orderStatus == "0001")) {
  404. settingExecutor(ringid, ringname);
  405. return;
  406. }
  407. compnt.showLoading();
  408. unicom.queryOrder(userid, mobile).then(function(data) {
  409. compnt.hideLoading();
  410. switch (data.resultCode) {
  411. case "0000": //订购
  412. case "0001": //退订
  413. if (unicom.user != null && unicom.user.userid != null) {
  414. unicom.user.orderStatus = data.resultCode;
  415. unicom.saveUserInfo();
  416. }
  417. if (userid) {
  418. settingExecutor(ringid, ringname)
  419. } else {
  420. showDialogSmsCode(mobile, ringid, ringname);
  421. }
  422. break;
  423. case "9201":
  424. showConfirm('您未订购视频彩铃包产品', function() {
  425. // alert(ringid)
  426. doOrder(ringid);
  427. // $('#btn-order').trigger('click');
  428. }, '取消', '去订购');
  429. break;
  430. default:
  431. compnt.showAlert(data.errorInfo);
  432. break;
  433. }
  434. return;
  435. })
  436. }
  437. function showDialogPreview(videUrl, ringid, ringname, poster) {
  438. var $dialog = $(
  439. '<div class="section-preview">' +
  440. ' <div class="content">' +
  441. ' <div class="close"><span>《</span>返回</div>' +
  442. ' <video src="' + videUrl + '" poster="' + poster + '"></video>' +
  443. ' <div class="play"></div>' +
  444. ' <div class="dail"></div>' +
  445. ' <div class="setting">设为视频彩铃</div>' +
  446. ' <a class="must-know" href="https://m.10155.com/h5/mactivity/terminal.html">设置须知</a>' +
  447. ' </div>' +
  448. '</div>');
  449. $dialog.appendTo($(document.body))
  450. $dialog.close = function() {
  451. $dialog.remove();
  452. }
  453. var $video = $dialog.find('video');
  454. var $playIcon = $dialog.find('.play');
  455. $video.on('play', function() {
  456. $playIcon.css('display', 'none')
  457. });
  458. $video.on('pause', function() {
  459. $playIcon.css('display', 'block')
  460. });
  461. $video.on('ended', function() {
  462. $playIcon.css('display', 'block')
  463. });
  464. $video.on('click', function() {
  465. if ($video.prop('paused')) {
  466. $video[0].play();
  467. } else {
  468. $video[0].pause();
  469. }
  470. });
  471. $playIcon.on('click', function() {
  472. $video[0].play()
  473. });
  474. $dialog.find('.setting').on('click', function() {
  475. setting(ringid, ringname, $dialog);
  476. })
  477. $dialog.find('.close').on('click', function() {
  478. $dialog.close();
  479. })
  480. return $dialog;
  481. }
  482. function showDialogAgr() {
  483. var $overlay = $('<div class="overlay"></div>');
  484. var $dialog = $(
  485. '<div id="section-agr" class="section-agr">' +
  486. ' <div class="agr-title">' +
  487. ' <div class="close"></div>' +
  488. ' </div>' +
  489. ' <div class="agr-content">' +
  490. ' <div class="title">业务说明</div>' +
  491. ' <div class="content">' +
  492. ' <ul>' +
  493. ' <li>1.该产品资费15元/月,包含15GB专属定向流量及抖音视频彩铃服务,按自然月扣费,次月自动续订;</li>' +
  494. ' <li>2.符合订购约定的中国联通手机4G、5G套餐(除智慧沃家等部分融合套餐)用户均可订购“抖音视频彩铃定向流量月包(标准版)”。手机套餐中流量资费、流量使用规则另有约定的,按照手机套餐执行;</li>' +
  495. ' <li>3.该产品中的抖音视频彩铃仅支持适配终端使用,适配手机终端型号可在温馨提示的视频彩铃说明中查看;</li>' +
  496. ' <li>4.达量限速套餐用户订购当前定向流量产品,包内定向流量不提升原套餐限速阈值和网速,不能作为限速后解限的加速包使用,依然执行基础套餐限速阈值的约定;</li>' +
  497. ' <li>5.该产品内定向流量仅限当月使用,未使用部分不能延续、累加至次月及以后各月使用,且服从中国联通套餐流量封顶统一限制;</li>' +
  498. ' <li>6.请使用手机默认3GNET接入点访问本产品(如需修改请在手机设置-移动网络-接入点APN内更改);</li>' +
  499. ' <li>7.关于产品使用过程中有任何疑问可咨询联通客服:10010;</li>' +
  500. ' <li>8.对我们有任何意见和建议,点此<a href="https://account.bol.wo.cn/v2/feedback?clientId=directflow2021073001" style="color: #266cd6">反馈</a>。</li>' +
  501. ' </ul>' +
  502. ' </div>' +
  503. ' <div class="title">流量说明</div>' +
  504. ' <div class="content">' +
  505. ' <ul>' +
  506. ' <li>1.定向流量适用范围包含:抖音短视频、今日头条、西瓜视频、火山小视频、多闪、懂车帝、图虫、皮皮虾、海豚股票、海豚财富、gogokid、轻颜、好好学习、飞聊、时光相册、半次元、飞书、激萌、番茄畅听APP使用;</li>' +
  507. ' <li>2.定向流量适用范围不包含:发起直播及上传视频;第三方提供的广告、视频、图片;下载/缓存客户端及第三方链接视频所产生的流量;</li>' +
  508. ' <li>3.如您是头条相关互联网卡套餐用户,如蚂蚁宝卡、阿里宝卡、钉钉宝卡或工商银行e卡等,将优先使用套餐内的专属定向流量,用罄后即消耗该产品包内的定向流量。</li> ' +
  509. ' </ul>' +
  510. ' </div>' +
  511. ' <div class="title">视频彩铃说明</div>' +
  512. ' <div class="content">' +
  513. ' <ul>' +
  514. ' <li>1.中国联通手机4G、5G套餐用户(其中5G腾讯王卡用户入网第三个月起)可以享受抖音视频彩铃服务;</li>' +
  515. ' <li>2.部分省分4G/5G联通用户如有一号多端IVPN服务,则不支持视频彩铃功能开通,即不支持视频彩铃业务使用;目前已有23个省分已支持一号多端IVPN服务同时使用视频彩铃业务,包括河南、湖北、浙江、四川、海南、河北、山东、山西、上海、江苏、福建、北京、江西、辽宁、吉林、内蒙古、广东、天津、湖南、贵州、陕西、广西、黑龙江;</li>' +
  516. ' <li>3.订购该产品用户可通过抖音APP客户端进入视频彩铃专区,享受任意设置视频彩铃服务,同时可通过页面进行彩铃DIY;</li>' +
  517. ' <li>4.成功设置视频彩铃后,其他人拨打已订购该产品的设备电话时,Ta就能看到已设置的视频;</li>' +
  518. ' <li>5.成功设置视频彩铃后,他人来电时看到已订购该产品设备的视频彩铃有2个条件:①Ta的终端支持播放中国联通视频彩铃;②Ta开通了VoLTE网络并拨打您电话时处于VoLTE网络下,手机信号显示HD或5G(编辑短信“DGVOLTE”至10010免费开通);注:仅支持联通用户间拨打观看;</li>' +
  519. ' <li>6.手机终端型号支持拨打呈现视频彩铃适用机型可通过关注“沃音乐”微信公众号发送“终端”进行查询或点击链接<a href="https://m.10155.com/h5/mactivity/terminal.html">https://m.10155.com/h5/mactivity/terminal.html</a>了解适配机型。</li>' +
  520. ' </ul>' +
  521. ' </div>' +
  522. ' </div>' +
  523. ' <div class="action">' +
  524. ' <div class="btn cancel">退订入口</div>' +
  525. ' </div>' +
  526. '</div>');
  527. $overlay.appendTo($(document.body))
  528. $dialog.appendTo($(document.body))
  529. $('body').css('overflow', 'hidden')
  530. $dialog.close = function() {
  531. $overlay.remove();
  532. $dialog.remove();
  533. $("body").css("overflow", "auto");
  534. }
  535. $dialog.hide = function() {
  536. $overlay.css('display', 'none');
  537. $dialog.css('display', 'none');
  538. }
  539. $dialog.show = function() {
  540. $overlay.css('display', 'block');
  541. $dialog.css('display', 'block');
  542. }
  543. $dialog.find('.close').unbind('click').on('click', function() {
  544. $dialog.close()
  545. })
  546. $dialog.find('.cancel').unbind('click').on('click', function() {
  547. $dialog.close();
  548. showCancelPage($dialog)
  549. })
  550. return $dialog;
  551. }
  552. function showDialogSmsCode(mobile, ringid, ringname) {
  553. var $overlay = $('<div class="overlay"></div>');
  554. var $dialog = $(
  555. '<div class="fixed-center section-setting">' +
  556. ' <div class="content">' +
  557. ' <div class="form-group">' +
  558. ' <input type="hidden" class="usermob" value="' + mobile + '">' +
  559. ' <input class="code smscode" maxLength="6" type="tel" placeholder="输入联通验证码">' +
  560. ' <input class="send sendcode" type="button" value="发送验证码">' +
  561. ' </div>' +
  562. ' </div>' +
  563. ' <div class="actions">' +
  564. ' <div class="btn close">取消</div>' +
  565. ' <div class="btn btn-primary login">确认</div>' +
  566. ' </div>' +
  567. '</div>');
  568. $overlay.appendTo($(document.body))
  569. $dialog.appendTo($(document.body))
  570. $dialog.find('.close').unbind('click').on('click', function() {
  571. $dialog.close()
  572. })
  573. $dialog.find('.sendcode').on('click', function() {
  574. unicom.sendSms($dialog, 'drawlogin');
  575. WoAnalytics.addPoint({ ad: $('#nanyanad').val(), ett: 'click', ea: 'draw_click_send_sms_code_btn' + $('#nanyanlabel').val(), ct: 'web', pm: parseInt(unicom.query.sou, 32) })
  576. })
  577. $dialog.find('.login').on('click', function() {
  578. compnt.showLoading();
  579. unicom.checkCode($dialog).done(function() {
  580. compnt.hideLoading();
  581. unicom.saveUserInfo();
  582. $dialog.close();
  583. settingExecutor(ringid, ringname);
  584. }).fail(function() {
  585. compnt.hideLoading();
  586. })
  587. })
  588. $dialog.find('.sendcode').trigger('click');
  589. $('body').css('overflow', 'hidden')
  590. $dialog.close = function() {
  591. $overlay.remove();
  592. $dialog.remove();
  593. $dialog = null;
  594. $('body').css('overflow', 'auto')
  595. }
  596. return $dialog;
  597. }
  598. function showAlertDialog(message) {
  599. var $overlay = $('<div class="overlay"></div>');
  600. var $dialog = $(
  601. '<div class="fixed-center section-setting section-alert">' +
  602. ' <div class="content">' +
  603. ' <div class="status">' +
  604. ' <div class="status-icon"></div>' +
  605. ' <span class="status-name">' + message + '</span>' +
  606. ' </div>' +
  607. ' </div>' +
  608. ' <div class="actions">' +
  609. ' <div class="btn btn-lg btn-primary">知道了</div>' +
  610. ' </div>' +
  611. '</div>');
  612. $overlay.appendTo($(document.body))
  613. $dialog.appendTo($(document.body))
  614. $dialog.find('.btn').unbind('click').on('click', function() {
  615. $dialog.close()
  616. })
  617. $dialog.close = function() {
  618. $overlay.remove();
  619. $dialog.remove();
  620. $dialog = null;
  621. $('body').css('overflow', 'auto')
  622. }
  623. $('body').css('overflow', 'hidden')
  624. return $dialog;
  625. }
  626. function showConfirm(message, handler, cancelLabel, okayLabel) {
  627. var $overlay = $('<div class="overlay"></div>');
  628. var $dialog = $(
  629. '<div class="fixed-center section-message">' +
  630. ' <div class="content">' + message + '</div>' +
  631. ' <div class="actions">' +
  632. ' <div class="btn close btn-primary">' + (cancelLabel || "取消") + '</div>' +
  633. ' <div class="btn okay btn-info">' + (okayLabel || '确认') + '</div>' +
  634. ' </div>' +
  635. '</div>');
  636. $overlay.appendTo($(document.body))
  637. $dialog.appendTo($(document.body))
  638. $dialog.find('.close').unbind('click').on('click', function() {
  639. $dialog.close()
  640. })
  641. $dialog.find('.okay').unbind('click').on('click', function() {
  642. handler && handler();
  643. $dialog.close();
  644. })
  645. $dialog.close = function() {
  646. $overlay.remove();
  647. $dialog.remove();
  648. $dialog = null;
  649. }
  650. return $dialog;
  651. }
  652. /**
  653. * 订购
  654. */
  655. function order(userid, token, usermob, ringid) {
  656. compnt.showLoading('处理中,请稍后...');
  657. unicom.order(userid, token, usermob, ringid).done(function(response) {
  658. compnt.hideLoading();
  659. switch (response.resultCode) {
  660. case "0000": //订购成功!跳转到领取会员页面
  661. unicom.saveUserInfo();
  662. showAlertDialog('订购成功');
  663. WoAnalytics.addPoint({ ad: $('#nanyanad').val(), ett: 'click', ea: 'order_success' + $('#nanyanlabel').val(), ct: 'web', pm: parseInt(unicom.query.sou, 32) });
  664. return;
  665. case "0013":
  666. compnt.showAlert('该号码归属省分2/3G暂未开通此产品!');
  667. WoAnalytics.addPoint({ ad: $('#nanyanad').val(), ett: 'click', ea: 'order_failure' + $('#nanyanlabel').val(), ct: 'web', pm: parseInt(unicom.query.sou, 32) });
  668. break;
  669. case "6611":
  670. compnt.showAlert('错误代码(6611),订购失败,请重试!');
  671. WoAnalytics.addPoint({ ad: $('#nanyanad').val(), ett: 'click', ea: 'order_failure' + $('#nanyanlabel').val(), ct: 'web', pm: parseInt(unicom.query.sou, 32) });
  672. break;
  673. case "6615":
  674. compnt.showAlert('订购失败,请确定用户套餐!');
  675. WoAnalytics.addPoint({ ad: $('#nanyanad').val(), ett: 'click', ea: 'order_failure' + $('#nanyanlabel').val(), ct: 'web', pm: parseInt(unicom.query.sou, 32) });
  676. break;
  677. case "6622": // 用户已订购过此产品!跳转到流量查页面
  678. // localStorage.setItem('message', '您已经订购了本产品~');
  679. compnt.showAlert('您已经订购了本产品~')
  680. unicom.saveUserInfo();
  681. WoAnalytics.addPoint({ ad: $('#nanyanad').val(), ett: 'click', ea: 'order_failure' + $('#nanyanlabel').val(), ct: 'web', pm: parseInt(unicom.query.sou, 32) });
  682. break;
  683. default:
  684. compnt.showAlert(response.errorInfo + ',订购失败,请确定用户套餐!');
  685. WoAnalytics.addPoint({ ad: $('#nanyanad').val(), ett: 'click', ea: 'order_failure' + $('#nanyanlabel').val(), ct: 'web', pm: parseInt(unicom.query.sou, 32) });
  686. break;
  687. }
  688. }).fail(function(error) {
  689. compnt.hideLoading();
  690. console.log(error);
  691. });
  692. }
  693. $('#rbtmv-container').on('touchmove', function(event) {
  694. if ($('#rbtmv-content').height() + $('#rbtmv-content').scrollTop() >= $('#rbtmv-container').height()) {
  695. showRbtMvsBody($('.item-active')[0].id);
  696. }
  697. })
  698. $('#rbtmv-container').on('touchstart', function(event) {
  699. if ($('#rbtmv-content').height() + $('#rbtmv-content').scrollTop() >= $('#rbtmv-container').height()) {
  700. showRbtMvsBody($('.item-active')[0].id);
  701. }
  702. })
  703. var t1 = 0;
  704. var t2 = 0;
  705. let timer = null;
  706. $('#rbtmv-content').on('scroll', function(event) {
  707. clearTimeout(timer)
  708. timer = setTimeout(isScrollEnd, 100)
  709. t1 = $('#rbtmv-content').scrollTop()
  710. })
  711. function isScrollEnd() {
  712. t2 = $('#rbtmv-content').scrollTop();
  713. if (t2 == t1) {
  714. clearTimeout(timer)
  715. if ($('#rbtmv-content').height() + $('#rbtmv-content').scrollTop() >= $('#rbtmv-container').height() - 200) {
  716. showRbtMvsBody();
  717. }
  718. }
  719. }