main.js 31 KB

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