// ==UserScript==
// @name 大麦抢票-选场次票价人数
// @namespace https://www.jwang0614.top/scripts
// @version 0.9.0
// @description 辅助购买大麦网演唱会门票
// @author Olivia Wang
// @match https://detail.damai.cn/*
// @grant none
// @require https://cdn.staticfile.org/jquery/3.5.1/jquery.min.js
// @downloadURL https://update.greasyfork.icu/scripts/383153/%E5%A4%A7%E9%BA%A6%E6%8A%A2%E7%A5%A8-%E9%80%89%E5%9C%BA%E6%AC%A1%E7%A5%A8%E4%BB%B7%E4%BA%BA%E6%95%B0.user.js
// @updateURL https://update.greasyfork.icu/scripts/383153/%E5%A4%A7%E9%BA%A6%E6%8A%A2%E7%A5%A8-%E9%80%89%E5%9C%BA%E6%AC%A1%E7%A5%A8%E4%BB%B7%E4%BA%BA%E6%95%B0.meta.js
// ==/UserScript==
var sellStartTime_timestamp = null;
var order_url = null;
var timer = null;
$(document).ready(function(){
var data = sessionStorage.getItem('order_url');
if (data) {
window.location.href = data;
} else {
var service_note_name_seat = $('.service-note .service-note-name:first').text().trim();
// var service_note_name_express = $('.service-note div.service-note-name')[1].textContent.trim();
if($("div.buybtn").text() === "选座购买" || service_note_name_seat === "可选座"){
alert("目前不支持选座");
}
// else if(service_note_name_express !== "快递票"){
// alert("目前只支持快递票");
// }
else {
if (window.confirm('我写了一个有辅助选座功能的完整版,把选场次票价人数和确认两个脚本合并在了一起。以后如果更新应该主要更新新脚本。\n\n详细信息请关注「伪装程序大佬」。\n\n获取完整脚本吗?\n(浏览器可能会阻止弹窗,允许弹窗就可以了。)'))
{
var mp_url = 'https://mp.weixin.qq.com/s?__biz=Mzg5NjE1MjU0Ng==&mid=2247484254&idx=1&sn=c3dccce6ed9f2e03a4b11612197805fe&chksm=c00425d3f773acc59098d5aba95ad521d31bafdc2d4fdea6e13422e0cf66c2fcb7b7a78b80c0&token=1170650345&lang=zh_CN#rd';
var win = window.open(mp_url, '_blank');
win.focus();
};
insert_ui();
}
}
});
function insert_ui() {
var $service = $(".content-right .service");
var $style = $('');
var $control_container = $("
");
var $number_input = $('请输入人数:
');
var $start_btn = $('');
var $end_btn = $('');
var $notice = $('使用步骤
0.登录,填写购票人信息
1.选择场次
2.选择价格
3.填写人数
4.点击‘开始抢票’
');
var $countdown = $('event1
price2
1人
倒计时:
00:00:00
');
$control_container.append($style);
$control_container.append($number_input);
$control_container.append($start_btn);
$control_container.append($end_btn);
$control_container.append($notice);
// $control_container.append($countdown);
$control_container.insertBefore($service);
$countdown.insertBefore($control_container);
$("#start_btn").click(function(){
// http://cncc.bingj.com/cache.aspx?q=jquery+ignore+inner+most&d=4555311081654245&mkt=en-US&setlang=en-US&w=FZ-aM6oeDz4XhBZleDN79HoRb7ybox0E
var event_css_selector = ".perform__order__select.perform__order__select__performs .select_right_list .active>*";
var price_css_selector = ".select_right_list_item.sku_item.active .skuname";
var event = $(event_css_selector).contents().not($(event_css_selector).children()).text().trim();
var price = $(price_css_selector).contents().not($(price_css_selector).children()).text().trim();
var people_num = $("#number_input").val();
var data_json = JSON.parse($("#dataDefault").text());
window.sellStartTime_timestamp = data_json["sellStartTime"];
// console.log("sellStartTime_timestamp: " + sellStartTime_timestamp);
// console.log("now: " + Date.now());
// console.log(data_json);
$("#selected_event").text(event);
$("#selected_price").text(price);
$("#selected_number").text(people_num + "人");
$("#countdown_wrapper").show();
var result = generate_confirm_url(event, price, people_num,data_json);
if(result) {
window.order_url = result;
sessionStorage.setItem('order_url', result);
console.log("countdown and go to confirm page");
timedUpdate();
} else {
console.error("不知道为什么获取场次票价人数出错了呢。");
alert("不知道为什么获取场次票价人数出错了呢。");
}
});
$("#end_btn").click(function(){
clearTimeout(window.timer);
$("#countdown_wrapper").hide();
sessionStorage.clear();
});
}
function generate_confirm_url(event, price, people_num, data_json) {
var performBases = data_json["performBases"];
var itemId = "";
for(var i=0; i