func-public

取参方法

此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.gf.qytechs.cn/scripts/464295/1179330/func-public.js

  1. // ==UserScript==
  2. // @name func-public
  3. // @version 4.0
  4. // @description 取参方法
  5. // @license All Rights Reserved
  6. // @grant GM_getResourceText
  7. // ==/UserScript==
  8.  
  9. var version = "1.0.9";
  10. var $style = $('<style>' +
  11. '#control_container{margin: 20px 0; background:#e9e9e9;padding:20px 0;}' +
  12. 'p{margin:10px 0;}' +
  13. '#control_container button{width:80%;margin:10px 10%;padding:10px 0;font-size:30px;border-style: solid;}' +
  14. '#start_btn{color:green;}' +
  15. '#end_btn{color:red;}' +
  16. '.input_wrapper{display: flex;justify-content:center;font-size: 16px; margin-bottom:10px;}' +
  17. '.input_wrapper_phone{width: 70%;font-size: 25px;margin:20px 20px;padding:20px 20px; text-align:center;}' +
  18. '.notice{margin:10px 10px;padding:10px 10px;color:darkslategrey;border-style: solid; border-width: 1px; border-color:darkslategrey;}' +
  19. '#wx{text-align: center;}' +
  20. '#countdown_wrapper {display:none; font-size: 30px; text-align:center; background:#ffeaf1;}' +
  21. '#countdown_wrapper p{width:100%;}' +
  22. '#countdown {font-size: 50px; color:#ff1268;}' +
  23. '.warning {color:red; font-weight:400;}' +
  24. 'h3 {font-weight:800;}' +
  25. '</style>');
  26. function syncTime(num) {
  27. GM_xmlhttpRequest({
  28. url: "https://api.m.taobao.com/rest/api3.do?api=mtop.common.getTimestamp",
  29. method: 'GET',
  30. timeout: 10000,
  31. headers: {
  32. 'Content-Type': 'application/x-www-form-urlencoded'
  33. },
  34. onload: function (responseDetails) {
  35. if (responseDetails.status == 200) {
  36. var result = JSON.parse(responseDetails.responseText.replace('fff(', '').replace(')', ''));
  37.  
  38. window.current_time = result.data.t;
  39. var time_difference = Math.ceil((window.sellStartTime_timestamp - window.current_time) / 1000);
  40. console.log("相差秒数:" + time_difference);
  41. // 提前1秒开始
  42. if (time_difference < 2) {
  43. window.location.href = window.order_url;
  44. } else {
  45. var time_difference_str = time_difference.toHHMMSS();
  46. $("#countdown").text(time_difference_str);
  47.  
  48. window.timer = setTimeout(timedUpdate, num);
  49. }
  50. } else {
  51. setTimeout(() => {
  52. syncTime(500);
  53. }, 1000);
  54. }
  55. }
  56. });
  57. }
  58. function check_alert() {
  59. var alerts = $(".next-dialog-alert");
  60. if (alerts.length > 0 || window.current_time >= window.max_time) {
  61. window.location.reload();
  62. } else {
  63. window.current_time = window.current_time + 300;
  64. setTimeout(check_alert, 300);
  65. }
  66. }
  67. function fill_form() {
  68. var buyer_number = parseInt($(".ticket-buyer-title em").text());
  69. window.buyer_number = buyer_number;
  70. window.curr_buyer = 0;
  71. console.log("勾选下单人数:" + buyer_number);
  72. var buyer_list = $(".buyer-list-item input");
  73. for (var i = 0; i < buyer_number; i++) {
  74. console.log(buyer_list[i]);
  75. buyer_list[i].click();
  76. }
  77.  
  78. setTimeout(submit_order, 200);
  79. }
  80. function submit_order() {
  81. $(".submit-wrapper button").click();
  82. setTimeout(check_alert, 200);
  83. }
  84. function generate_seat_url(is_calendar, event, price, people_num, data_json) {
  85. var performBases = [];
  86. if (is_calendar) {
  87. var month = event.slice(0, 7);
  88. var calendarPerforms = data_json["calendarPerforms"];
  89.  
  90. for (var i = 0; i < calendarPerforms.length; i++) {
  91. var calendarPerform = calendarPerforms[i];
  92. if (calendarPerform["month"] == month) {
  93. performBases = calendarPerform["performBases"];
  94. }
  95. }
  96. } else {
  97. performBases = data_json["performBases"];
  98.  
  99. }
  100.  
  101. var itemId = "";
  102.  
  103. for (var i = 0; i < performBases.length; i++) {
  104. var performBase = performBases[i];
  105. var performs = performBase["performs"];
  106.  
  107.  
  108. for (var j = 0; j < performs.length; j++) {
  109. var perform = performs[j];
  110. var performId = perform.performId;
  111. var projectId = new URLSearchParams(window.location.href).get('id');
  112. if (perform["performName"] === event) {
  113. itemId = perform["itemId"];
  114. window.itemId = itemId;
  115. var skuList = perform["skuList"];
  116. for (var k = 0; k < skuList.length; k++) {
  117. var skuList_item = skuList[k];
  118. if (skuList_item["skuName"] === price) {
  119. var skuId = skuList_item["skuId"];
  120. return `https://seatsvc.damai.cn/tms/selectSeat?itemId=${itemId}&performId=${performId}&skuId=${skuId}&projectId=${projectId}`
  121.  
  122. }
  123. }
  124.  
  125. }
  126. }
  127.  
  128. }
  129. return null;
  130.  
  131. }
  132. function detail_ui() {
  133. var $service = $(".content-right .service");
  134.  
  135. var $control_container = $("<div id='control_container'></div>");
  136.  
  137. var $wx = $(`<div id="wx" class="notice"><p>公众号【时光最惠站】 </p><p>版本: ${version}</p></div>`);
  138.  
  139. var $number_input = $('<div class="input_wrapper" id="number_input_wrapper">请输入人数:<input id="number_input" type="number" value="1" min="1" max="6"></div>');
  140. // var $email_input = $('<div class="input_wrapper" id="email_input_wrapper">email:<input id="email_input" type="email" value="example@hotmail.com"></div>');
  141. // var $name_input = $('<div class="input_wrapper" id="name_input_wrapper">联系人姓名:<input id="name_input" type="text" value="小明"></div>');
  142. // var $duration_input = $('<div class="input_wrapper" id="duration_input_wrapper">刷新间隔(ms):<input id="duration_input" type="text" value="5000"></div>');
  143.  
  144. var $start_btn = $('<button id="start_btn">开始抢票</button>');
  145. var $end_btn = $('<button id="end_btn">停止抢票</button>');
  146. var $notice = $('<div id="notice" class="notice"><h3>使用步骤</h3><p>1.登录(不可用),填写购票人信息</p><p>2.选择场次->价格->填写人数</p><p>3.点击‘开始抢票’</p></div>');
  147.  
  148. var $notice2 = $('<div id="notice2" class="notice"><p>已同步网络时间</p><p>若误差过大请刷新页面,更新时间</p></div>');
  149.  
  150. var $countdown = $('<div id="countdown_wrapper"><p id="selected_event">event1</p><p id="selected_price">price2</p><p id="selected_number">1人</p><br><p>倒计时:</p><p id="countdown">00:00:00</p></div>');
  151.  
  152. $control_container.append($style);
  153. $control_container.append($wx);
  154. $control_container.append($number_input);
  155. // $control_container.append($email_input);
  156. // $control_container.append($name_input);
  157. // $control_container.append($duration_input);
  158. $control_container.append($start_btn);
  159. $control_container.append($end_btn);
  160. $control_container.append($notice);
  161. $control_container.append($notice2);
  162. // $control_container.append($countdown);
  163.  
  164. $control_container.insertBefore($service);
  165. $countdown.insertBefore($control_container);
  166.  
  167. $("#start_btn").click(function () {
  168. var event = get_event();
  169. var price = get_price();
  170. var people_num = $("#number_input").val();
  171. var data_json = JSON.parse($("#dataDefault").text());
  172. window.sellStartTime_timestamp = data_json["sellStartTime"];
  173.  
  174. $("#selected_event").text(event);
  175. $("#selected_price").text(price);
  176. $("#selected_number").text(people_num + "人");
  177.  
  178. $("#countdown_wrapper").show();
  179.  
  180. // console.log(data_json)
  181.  
  182. var result = generate_confirm_url(event, price, people_num, data_json);
  183. console.log("result--" + result);
  184. if (result) {
  185. window.order_url = result;
  186. sessionStorage.setItem('order_url', result);
  187.  
  188. console.log("countdown and go to confirm page");
  189. timedUpdate();
  190. } else {
  191. alert("获取场次票价人数失败,请刷新再试");
  192.  
  193. }
  194.  
  195. });
  196.  
  197. $("#end_btn").click(function () {
  198. clearTimeout(window.timer);
  199. $("#countdown_wrapper").hide();
  200. sessionStorage.clear();
  201. });
  202.  
  203. }
  204. function generate_confirm_url(event, price, people_num, data_json) {
  205.  
  206. var performBases = data_json["performBases"];
  207. var itemId = "";
  208.  
  209. for (var i = 0; i < performBases.length; i++) {
  210. // console.log("1");
  211. var performBase = performBases[i];
  212. var performs = performBase["performs"];
  213. for (var j = 0; j < performs.length; j++) {
  214. // console.log("2");
  215. var perform = performs[j];
  216. if (perform["performName"] === event) {
  217. // console.log("3");
  218. itemId = perform["itemId"];
  219. window.itemId = itemId;
  220. var skuList = perform["skuList"];
  221. for (var k = 0; k < skuList.length; k++) {
  222. // console.log("4");
  223. var skuList_item = skuList[k];
  224. if (skuList_item["skuName"] === price) {
  225. // console.log("5");
  226. var skuId = skuList_item["skuId"];
  227. return `https://buy.damai.cn/orderConfirm?exParams=%7B%22damai%22%3A%221%22%2C%22channel%22%3A%22damai_app%22%2C%22umpChannel%22%3A%2210002%22%2C%22atomSplit%22%3A%221%22%2C%22serviceVersion%22%3A%221.8.5%22%7D&buyParam=${itemId}_${people_num}_${skuId}&buyNow=true&spm=a2oeg.project.projectinfo.dbuy`
  228. // https://buy.damai.cn/orderConfirm?exParams=%7B%22damai%22%3A%221%22%2C%22channel%22%3A%22damai_app%22%2C%22umpChannel%22%3A%2210002%22%2C%22atomSplit%22%3A%221%22%2C%22serviceVersion%22%3A%221.8.5%22%2C%22umidToken%22%3A%22T2gAPtWBhV9tC67Mptnj5AU_d_KX-57DqykfreYNo38zNk2TgBZssV-gxQlN7aEPYnPc6dXI1re5zNemlLZpfS71%22%2C%22ua%22%3A%22134%23pciI2XXwXGEkxcXNZXkwdJ0D3QROwKOlAOzBtZ26EXkEHKc8qKrQAAmvANaH6n1KGaF4vxWgMEiyvJ8h9bbkRf%2FYEV1hBueE%2BJdqKXL3ZtWwTq1qijRmNyd3OOH8qkuJ%2BJd8qcHAZXnw%2Bcy8qqK7GANE1XazXJmg%2FR%2F5Utf35L2Od6%2FG0dbS1b%2B9L5ktB6IWasdFdaIn%2BqpUTLB8ajSqUVD0dOgouDkm78TjZ0CoGokuqXVsf1xdZ9p%2Fut6sLnyD7zJR7vi3xgho3ZvGI37q7cXGmA1IjAYsrBXU2kdbCbTZygJjLhS6%2FKJ7jMrS32iAng488JzvSMYV4D5o9mt%2BYWWddusAWqInij0%2FLKPSEnpK8MgQLbC8xXqcqv9ojtBm2DseaKe6g0CAXgFjW0XXA1aAhvJVTXDVIjariuT47UsZ94G4Vve%2Byr6FmI1RmtHBHwiiTN4YufCiYcr7UMN40vCkITwrXibXJVe5IW%2BkcuFlRVaK5fToG%2BK%2FDDJNLfO7LA4OoXB5BemruIehBXZPAVBHW5VgnKKG6A7MKWG8VHBsknL77EDMTYo%2FVGR5E9KfJtMNhTuRyPEJUXqIyuBs%2BWMeerkEllrcI4tn6j%2FQvxFo%2BMmoAnu4Gz05k2yBrt45eVj3sndkBqzjSOdocl5f%2BtA18aToWalQuZqLb0x31S4Ac6ZTPkhnqSnt%2BGGodrhKgkR1IyvyfYR85d2Yxnht1kSmE7O4YIEt6srmH2We9UqUdhkkeKByPHsj4MvAe2yejlSN1HcH0Mm0K4JjF59IvjH4Aw3UKv7GGnY1EtOcPvgZ8uNf7HfoWX%3D%3D%22%7D&buyParam=624490600818_1_4598946947036&buyNow=true&spm=a2oeg.project.projectinfo.dbuy
  229. }
  230. }
  231.  
  232. }
  233. }
  234.  
  235. }
  236. return null;
  237.  
  238. }
  239. function get_text_exclude_children(css_selector_str) {
  240. return $(css_selector_str).contents().not($(css_selector_str).children()).text().trim();
  241. }
  242. function get_event() {
  243. var event_css_selector = ".perform__order__select.perform__order__select__performs .select_right_list .active>*";
  244. return get_text_exclude_children(event_css_selector);
  245. }
  246. function get_price() {
  247. var price_css_selector = ".select_right_list_item.sku_item.active .skuname";
  248. return get_text_exclude_children(price_css_selector);
  249. }
  250. function detail_seat_ui() {
  251. var $service = $(".content-right .service");
  252. var $control_container = $("<div id='control_container'></div>");
  253.  
  254.  
  255. var $wx = $(`<div id="wx" class="notice"><p>公众号【时光最惠站】 </p><p>版本: ${version}</p></div>`);
  256. var $number_input = $('<div class="input_wrapper" id="number_input_wrapper">请输入人数:<input id="number_input" type="number" value="1" min="1" max="6"></div>');
  257. var $start_btn = $('<button id="start_btn">开始抢票</button>');
  258. var $end_btn = $('<button id="end_btn">停止抢票</button>');
  259. var $notice = $('<div id="notice" class="notice"><h3>使用步骤</h3><p>1.登录(不可用),填写购票人信息</p><p>2.选择场次->价格->填写人数</p><p>3.点击‘开始抢票’</p></div>');
  260.  
  261. var $notice2 = $('<div id="notice" class="notice warning"><h3>注意</h3><p>若人数为1,选座页面手动选座后自动进入下一步</p><p>人数多于1时,选座页面手动选座后点击“确认选座”按钮或按下空格键进入下一步</p></div>');
  262. var $notice3 = $('<div id="notice2" class="notice"><p>已同步网络时间</p><p>若误差过大请刷新页面,更新时间</p></div>');
  263.  
  264. var $countdown = $('<div id="countdown_wrapper"><p id="selected_event">event1</p><p id="selected_price">price2</p><p id="selected_number">1人</p><br><p>倒计时:</p><p id="countdown">00:00:00</p></div>');
  265.  
  266. $control_container.append($style);
  267. $control_container.append($wx);
  268. $control_container.append($number_input);
  269.  
  270. $control_container.append($start_btn);
  271.  
  272. $control_container.append($end_btn);
  273. $control_container.append($notice);
  274. $control_container.append($notice2);
  275. $control_container.append($notice3);
  276.  
  277. $control_container.insertBefore($service);
  278. $countdown.insertBefore($control_container);
  279.  
  280. $("#start_btn").click(function () {
  281. var event = get_event();
  282. var price = get_price();
  283. var people_num = $("#number_input").val();
  284.  
  285.  
  286. var data_json = JSON.parse($("#dataDefault").text());
  287. window.sellStartTime_timestamp = data_json["sellStartTime"];
  288.  
  289. $("#selected_event").text(event);
  290. $("#selected_price").text(price);
  291. $("#selected_number").text(people_num + "人");
  292.  
  293. $("#countdown_wrapper").show();
  294.  
  295. if ($("#dataDefault").text().includes("calendarPerforms")) {
  296. var result = generate_seat_url(true, event, price, people_num, data_json);
  297.  
  298. } else {
  299. var result = generate_seat_url(false, event, price, people_num, data_json);
  300.  
  301. }
  302.  
  303.  
  304. if (result) {
  305. window.order_url = `${result}&people_num=${people_num}`;
  306. sessionStorage.setItem('seat_url', result);
  307. console.log("countdown and go to confirm page");
  308. timedUpdate();
  309.  
  310.  
  311. } else {
  312. alert("获取场次票价人数出错了。");
  313.  
  314. }
  315.  
  316. });
  317.  
  318. $("#end_btn").click(function () {
  319. clearTimeout(window.timer);
  320. $("#countdown_wrapper").hide();
  321. sessionStorage.clear();
  322. });
  323.  
  324. }
  325. function seat_click_buy_btn() {
  326. console.log("click buy");
  327. $('#app > div.render-result-container > div.select-result > div.tip-order-button > button').click();
  328. }
  329. Number.prototype.toHHMMSS = function () {
  330. var hours = Math.floor(this / 3600) < 10 ? ("00" + Math.floor(this / 3600)).slice(-2) : Math.floor(this / 3600);
  331. var minutes = ("00" + Math.floor((this % 3600) / 60)).slice(-2);
  332. var seconds = ("00" + (this % 3600) % 60).slice(-2);
  333. return hours + ":" + minutes + ":" + seconds;
  334. };
  335. function timedUpdate() {
  336. var time_difference = Math.ceil((window.sellStartTime_timestamp - window.current_time) / 1000);
  337. //接近10开始请求网络时间
  338. if (window.current_time == undefined || time_difference < 10) {
  339. syncTime(200);
  340. } else {
  341. syncTime(2500);
  342. }
  343. }
  344.  
  345. function timedUpdate_phone()
  346. {
  347. var diff_time = Math.ceil((window.sellStartTime_timestamp - window.current_time) / 1e3);
  348. if (window.current_time == undefined || diff_time < 9)
  349. {
  350. syncTime_phone(300)
  351. }
  352. else
  353. {
  354. syncTime_phone(2500)
  355. }
  356. }
  357.  
  358. function syncTime_phone(num)
  359. {
  360. GM_xmlhttpRequest(
  361. {
  362. url: "https://api.m.taobao.com/rest/api3.do?api=mtop.common.getTimestamp",
  363. method: "GET",
  364. timeout: 1e4,
  365. headers:
  366. {
  367. "Content-Type": "application/x-www-form-urlencoded"
  368. },
  369. onload: function (responseDetails)
  370. {
  371. if (responseDetails.status == 200)
  372. {
  373. var result = JSON.parse(responseDetails.responseText.replace("fff(", "").replace(")", ""));
  374. window.current_time = result.data.t;
  375. var time_difference = Math.ceil((window.sellStartTime_timestamp - window.current_time) / 1e3);
  376. console.log("距开抢时间:" + time_difference);
  377. if (time_difference < 2)
  378. {
  379. window.location.href = window.phone_order_url
  380. }
  381. else
  382. {
  383. var time_difference_str = time_difference.toHHMMSS();
  384. $("#countdown").text(time_difference_str);
  385. window.timer = setTimeout(timedUpdate_phone, num)
  386. }
  387. }
  388. else
  389. {
  390. setTimeout(() =>
  391. {
  392. syncTime_phone(500)
  393. }, 1e3)
  394. }
  395. }
  396. })
  397. }
  398.  
  399. function fill_phone_form()
  400. {
  401. var buyer_number = sessionStorage.getItem("phone_people_num");
  402. if (buyer_number == null)
  403. {
  404. buyer_number = 2
  405. }
  406. console.log("勾选下单人数:" + buyer_number);
  407. var viewer = $(".viewer >div >div");
  408. if (viewer == null || viewer.length == 0)
  409. {
  410. sessionStorage.setItem("isStopped", "start");
  411. check_phone_alert();
  412. setTimeout(fill_phone_form, 100);
  413. return
  414. }
  415. for (var i = 0; i < buyer_number; i++)
  416. {
  417. viewer[i].click()
  418. }
  419. setTimeout(submit_phone_order, 100)
  420. }
  421.  
  422. function submit_phone_order()
  423. {
  424. console.log("提交订单中...");
  425. $("div[view-name='MColorFrameLayout']").attr("id", "myOrderSubmit");
  426. if ($("#myOrderSubmit")[0] == null)
  427. {
  428. sessionStorage.setItem("isStopped", "stop");
  429. return
  430. }
  431. var submitBtn = $("#myOrderSubmit")[0].nextSibling;
  432. var myEvent = new Event("dx_tap");
  433. submitBtn.dispatchEvent(myEvent);
  434. setTimeout(check_phone_alert, 200);
  435. sessionStorage.setItem("isStopped", "start")
  436. }
  437.  
  438. function phone_detail_ui()
  439. {
  440. var $service = $(".banner");
  441. if ($service == null || $service.length == 0)
  442. {
  443. $service = $(".auto-banner")
  444. }
  445. if ($service == null || $service.length == 0)
  446. {
  447. $service = $("#detail")
  448. }
  449. if ($service == null || $service.length == 0)
  450. {
  451. setTimeout(phone_detail_ui, 200);
  452. return
  453. }
  454. var $control_container = $("<div id='control_container'></div>");
  455. var $wx = $(`<div id="wx" class="notice"><p>公众号【时光最惠站】 </p><p>版本: ${version}</p></div>`);
  456. var $eventId = $('<div class="input_wrapper_phone" id="event_input_wrapper">输入票价对应的序号:<input id="event_input" type="text" value="0" ></div>');
  457. var $number_input = $('<div class="input_wrapper_phone" id="number_input_wrapper">选择人数:<input id="number_input" type="number" value="2" min="1" max="4"></div>');
  458. var $start_btn = $('<button id="start_btn">开始抢票</button>');
  459. var $end_btn = $('<button id="end_btn">停止</button>');
  460. var $notice = $('<div id="notice" class="notice"><h3>使用步骤</h3><p>1.提前登录(不可用)-填写购票人,收货地址</p><p>2.请先点击右下角[即将开抢 预选场次]或[立即购买] 按钮,再按提示输入票价前的序号</p><p>3.点击‘开始抢票’</p></div>');
  461. var $notice2 = $('<div id="notice2" class="notice"><p>注:默认勾选2个观演人(可修改)</p></div>');
  462. var $countdown = $('<div id="countdown_wrapper"><p id="selected_event">场次</p><p id="selected_price">自动勾选人数</p><p id="selected_number">2人</p><br><p>倒计时:</p><p id="countdown">00:00:00</p></div>');
  463. $control_container.append($style);
  464. $control_container.append($wx);
  465. $control_container.append($eventId);
  466. $control_container.append($number_input);
  467. $control_container.append($start_btn);
  468. $control_container.append($end_btn);
  469. $control_container.append($notice);
  470. $control_container.append($notice2);
  471. $control_container.insertBefore($service);
  472. $countdown.insertBefore($control_container);
  473. $("#start_btn").click(function ()
  474. {
  475. var eventJson = $("#event_input").val();
  476. if (eventJson == "" || eventJson == null)
  477. {
  478. alert("请先输入票价对应的序号");
  479. return
  480. }
  481. var skuIds = sessionStorage.getItem("skuIds");
  482. var itemIds = sessionStorage.getItem("itemIds");
  483. if (skuIds == null || itemIds == null || skuIds.length == 0 || itemIds.length == 0)
  484. {
  485. alert("请先点击右下角[即将开抢 预选场次]或[立即购买] 按钮获取票档,再按提示输入票价前的序号");
  486. return
  487. }
  488. skuIds = skuIds.split(",");
  489. itemIds = itemIds.split(",");
  490. if (skuIds.length <= Number(eventJson))
  491. {
  492. alert("序号错误,无该序号对应场次");
  493. return
  494. }
  495. var price = skuIds[eventJson];
  496. var eventid = itemIds[eventJson];
  497. console.log("item_id:" + eventid);
  498. console.log("price_id:" + price);
  499. var people_num = $("#number_input").val();
  500. var result = phone_confirm_url(eventid, price, people_num);
  501. window.phone_order_url = result;
  502. window.phone_people_num = people_num;
  503. sessionStorage.setItem("phone_order_url", result);
  504. sessionStorage.setItem("phone_people_num", people_num);
  505. sessionStorage.setItem("reload_cnt", 0);
  506. var cdate = $(".count-down-date");
  507. var sellStartTime = "";
  508. if (cdate == null || cdate.length == 0)
  509. {
  510. sellStartTime = (new Date).getTime()
  511. }
  512. else
  513. {
  514. cdate = cdate.innerText == null ? cdate[0].innerText : cdate.innerText;
  515. var startTime = cdate.replace("月", "-").replace("日", "").replace("开抢", "") + ":00";
  516. startTime = (new Date).getFullYear() + "-" + startTime;
  517. if (navigator.userAgent.indexOf("Safari") != -1)
  518. {
  519. startTime = startTime.replace(/-/g, "/")
  520. }
  521. sellStartTime = new Date(startTime).getTime()
  522. }
  523. window.sellStartTime_timestamp = sellStartTime;
  524. $("#selected_event").text(startTime);
  525. $("#selected_number").text(people_num + "人");
  526. $("#countdown_wrapper").show();
  527. timedUpdate_phone()
  528. });
  529. $("#end_btn").click(function ()
  530. {
  531. clearTimeout(window.timer);
  532. $("#countdown_wrapper").hide();
  533. sessionStorage.clear()
  534. });
  535. $("#jianloubtn").click(jianloubtn_click)
  536. }
  537.  
  538. function jianloubtn_click()
  539. {
  540. $(".buy__button").click()
  541. }
  542.  
  543. function phone_confirm_url(event, price_id, people_num)
  544. {
  545. return `https://m.damai.cn/app/dmfe/h5-ultron-buy/index.html?buyParam=${event}_${people_num}_${price_id}&buyNow=true&exParams=%257B%2522channel%2522%253A%2522damai_app%2522%252C%2522damai%2522%253A%25221%2522%252C%2522umpChannel%2522%253A%2522100031004%2522%252C%2522subChannel%2522%253A%2522damai%2540damaih5_h5%2522%252C%2522atomSplit%2522%253A1%257D&spm=a2o71.project.0.i0&sqm=dianying.h5.unknown.value`
  546. }
  547.  
  548. function check_phone_alert()
  549. {
  550. var isStopped = sessionStorage.getItem("isStopped");
  551. if (isStopped != null && "stop" == isStopped)
  552. {
  553. return
  554. }
  555. var checkblack = $(".baxia-dialog-content");
  556. if (checkblack != null && checkblack.length > 0)
  557. {
  558. var reload_cnt = sessionStorage.getItem("reload_cnt");
  559. if (reload_cnt == null)
  560. {
  561. reload_cnt = 0
  562. }
  563. sessionStorage.setItem("reload_cnt", Number(reload_cnt) + 1);
  564. window.location.reload()
  565. }
  566. var mian = $("#app >div >div");
  567. if (mian != null)
  568. {
  569. if (mian.innerHTML != null)
  570. {
  571. if (mian.innerHTML.indexOf("系统繁忙") != -1)
  572. {
  573. window.location.reload()
  574. }
  575. else
  576. {
  577. window.current_time = window.current_time + 300;
  578. setTimeout(submit_phone_order, 400)
  579. }
  580. }
  581. else if (mian.length == 2)
  582. {
  583. if (mian[0].innerHTML == "接口超时")
  584. {
  585. console.log("接口超时...")
  586. }
  587. if (mian[1] != null)
  588. {
  589. if (mian[1].innerHTML == "刷新")
  590. {
  591. mian[1].click()
  592. }
  593. else
  594. {
  595. setTimeout(submit_phone_order, 300)
  596. }
  597. }
  598. }
  599. else if (mian.length > 2)
  600. {
  601. setTimeout(submit_phone_order, 300)
  602. }
  603. else
  604. {
  605. console.log("未知...")
  606. }
  607. }
  608. setTimeout(() =>
  609. {
  610. clearTimeout(window.timer);
  611. sessionStorage.clear()
  612. }, 2e4)
  613. }

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址