// ==UserScript== // @name 蜜蜂侠 // @namespace http://tampermonkey.net/ // @version 0.7.3 // @description 蜜蜂抢单 // @author Shinelin // @match http://*.mf178.cn/customer/order/pools* // @match http://mf178.cn/customer/order/pools* // @match http://mf178.cn/customer/order/mytasks // @grant none // @downloadURL https://update.greasyfork.icu/scripts/38939/%E8%9C%9C%E8%9C%82%E4%BE%A0.user.js // @updateURL https://update.greasyfork.icu/scripts/38939/%E8%9C%9C%E8%9C%82%E4%BE%A0.meta.js // ==/UserScript== (function() { 'use strict'; // 消息提示 var stop = false; var cnt = 1; var intervalId = 0; var my_message = function (message) { $.notify({ message:message }, { delay:2000, allow_dismiss:false, type: 'success', placement: { from: "top", align: "center" }, offset: 400}); }; // 播放提示音 $.getScript("https://cdn.bootcss.com/jplayer/2.9.2/jplayer/jquery.jplayer.min.js", function() { $("#jplayer").jPlayer({ // swfPath: "http://www.jplayer.org/latest/js/Jplayer.swf", ready: function () { $(this).jPlayer("setMedia", { mp3: "http://hao.1015600.com/upload/ring/000/994/63ac8513b87bb67e87042b856e2b6f01.mp3" }); }, supplied: "mp3" }); }); var sumbit_ticket_without_comfirm = function(orderId) { var url = 'ajax?action=task_report&op=succ&id=' + orderId; X.get(url); }; // 附加的html var html = (function () {/*

*/}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1]; /* /// 测试
*/ var setup_ui = function() { $('body > div.main_content > div > div > div > div > div.col-sm-10 > div.row.customer_container > div:nth-child(2)').append(html); // 复制黏贴号码工具,方便做单。 var realtime_table = $('body > div.main_content > div > div > div.col-lg-10.col-sm-9 > div > div:nth-child(5) > table'); if(realtime_table.find("tr").size() > 1) { var number = realtime_table.find("tr").eq(1).find('td').eq(2).children('button').val(); $('#phone_num').children('font').text(number); $('#phonenumDiv').after("
"); $("#mycopybtn").click(function(){ copyText($(this).val()); }); var orderId = realtime_table.find("tr").eq(1).find('td').eq(0).text(); $('#mycopybtn').parent('div').after("
"); $("#succ_btn").on('click', function(){ sumbit_ticket_without_comfirm(orderId); }); } }; var setup_storage = function() { // 本地存储面值,那么就使用本地存储的面值。 if(localStorage.getItem('TICKET_PRICE') != null) { $('#amount').find("option:selected").attr("selected",false); $('#amount').find("option[value='"+ localStorage.getItem('TICKET_PRICE')+"']").attr("selected",true); } // 本地存储倒计时,就是用本地的倒计时 if(localStorage.getItem("AUTOSUBMIT") != null) { $('#limit').val(parseInt(localStorage.getItem("AUTOSUBMIT"))); } }; setup_ui(); setup_storage(); var check_submit = function () { if ($('#autosubmit').attr("checked") == undefined) return ; var limit = $('#limit').val() * 60; localStorage.setItem("AUTOSUBMIT", $('#limit').val()); var timestamp = parseInt((new Date()) / 1000) - INIT_TIME; $("body > div.main_content > div > div > div.col-lg-10.col-sm-9 > div > div:nth-child(5) > table tr .timeout").each(function () { var t = $(this); var diff = parseInt(t.attr("otime")) - timestamp; $("#diff_time").html((diff-limit) + ''); if (diff > 0 && diff < limit) { sumbit_ticket_without_comfirm(t.closest('tr').find(' td:nth-child(1)').html()); } }); }; // 每1s检测一次订单提交。 intervalId = setInterval(check_submit, 1000); // 修改订单倒计时提交时调用。 $("#autosubmit").on('change', function() { if ($('#autosubmit').attr("checked") == "checked") { $('#autosubmit').attr("checked", false); if(intervalId != 0) { clearInterval(intervalId); } } else { $('#autosubmit').attr("checked", "checked"); intervalId = setInterval(check_submit, 1000); } }); var Refresh = function () { if(stop == true) {return;} // 查询订单…… $.get('/customer/order/mytasks', function(msg) { var label = "获取" + $('#amount').val() + "元订单"; if(msg.indexOf(label) < 0) { //my_message('已查询' + cnt + '次,平台暂未订单,请稍后再试'); $("#getOrderBtn").text('已查询' + cnt + '次'); cnt ++; setTimeout(Refresh, 100); } else { getOrder(); } }); // 到这里没有被return, 说明有订单了,但是不一定有指定省份。 // 更特殊的,有人可能在你查到和获取期间抢走这个单。 var getOrder = function() { var url = 'ajax?action=get_tasks&amount=' + $('#amount').val(); $.getJSON(url, function(msg) { //alert(msg.data); // var index = msg.data.indexOf("SEQ\" value=\""); // //var len = 'SEQ\" value=\"'.length; // 12 //alert(index + " " + len); var idx = parseInt(index) + 12; var end = msg.data.indexOf("\"",idx); var SEQ = msg.data.substring(idx, end); var data = { 'prov_name': $('#prov_name').val(), 'operator_id': $('#carrier').val(), 'amount':$('#amount').val(), 'count':1, 'contract': [1, 2, 4, 8, 16, 32, 64, 128, 256, 512], 'SEQ':SEQ }; $.post('/customer/order/get_tasks', data, function(msg) { if(msg.indexOf('上报我已充值') > 0){ my_message('成功获取订单, 1s后自动刷新'); $("#jplayer").jPlayer('play'); setTimeout(function() { window.location.href = "/customer/order/mytasks"; }, 1000); } else { my_message('没有所查询的省份,或者别人比你抢先一步了'); setTimeout(Refresh, 2000); $("#getOrderBtn").text('已查询' + cnt + '次'); cnt ++; } }); }); }; }; // 获取订单 $("#getOrderBtn").on('click', function() { //alert("自动抢单"); //css $("#stopGetOrderBtn").attr('disabled',false); $("#getOrderBtn").attr('disabled', 'disabled'); //$("#getOrderBtn").text("抢单中"); stop = false; cnt = 1; localStorage.setItem('TICKET_PRICE', $('#amount').val()); Refresh(); }); // 结束抢单 $("#stopGetOrderBtn").on('click', function() { my_message('停止抢单'); //css $("#stopGetOrderBtn").attr('disabled','disabled'); $("#getOrderBtn").attr('disabled',false); $("#getOrderBtn").text("自动抢单"); stop = true; }); // Your code here... })();