蜜蜂侠

蜜蜂抢单

当前为 2018-03-02 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         蜜蜂侠
// @namespace    http://tampermonkey.net/
// @version      0.52
// @description  蜜蜂抢单
// @author       Shinelin
// @match        http://*.91yunma.cn/admin/order/mytasks*
// @grant        none
// ==/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 Refresh = function () {
        if(stop == true) {return;}
        // 查询订单……
        $.get('/admin/order/mytasks', function(msg) {
            var label = "获取" + $('#amount').val() + "元订单";
            if(msg.indexOf(label) < 0) {
                 //my_message('已查询' + cnt + '次,平台暂未订单,请稍后再试');
                 $("#getOrderBtn").text('已查询' + cnt + '次');
                 cnt ++;
                 setTimeout(Refresh, 500);
            }
            else {
                 getOrder();
            }
        });
        // 到这里没有被return, 说明有订单了,但是不一定有指定省份。
        // 更特殊的,有人可能在你查到和获取期间抢走这个单。
        var getOrder = function() {
            var url = 'ajax?action=get_tasks&amount=' + amount;
            $.getJSON(url, function(msg) {
                //alert(msg.data);
                //<input type=\"hidden\" name=\"SEQ\" value=\"1519654006\" \/>
                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(),
                    'amount':$('#amount').val(),
                    'count':1,
                    'contract': [1, 2, 4, 8, 16, 32, 64, 128],
                    'SEQ':SEQ
                };
                $.post('/admin/order/get_tasks', data, function(msg) {
                    if(msg.indexOf('分多笔充值不结算') >= 0){
                        my_message('成功获取订单, 1s后自动刷新');
                        $("#jplayer").jPlayer('play');
                        setTimeout(function() {
                            window.location.href = "/admin/order/mytasks";
                        }, 1000);
                    }
                    else {
                        my_message('没有所查询的省份,或者别人比你抢先一步了');
                        setTimeout(Refresh, 5000);
                        $("#getOrderBtn").text('已查询' + cnt + '次');
                        cnt ++;
                    }
                });
            });
        };   
    };


    var html = (function () {/*
		<div class='row' id='robDiv'>
			<div class='col-xs-3'>
				<select class="form-control" id='amount' name='amount'>
					<option  value="30">30元</option>
					<option  value="50">50元</option>
					<option  value="100">100元</option>
					<option  value="200">200元</option>
                    <option  value="500">500元</option>
				</select>
			</div>
			<div class='col-xs-4'>
				<select id="prov_name" name="prov_name" class="form-control">
					<option value="">不限</option>
					<option value="北京">北京</option>
					<option value="广东">广东</option>
					<option value="上海">上海</option>
					<option value="天津">天津</option>
					<option value="重庆">重庆</option>
					<option value="辽宁">辽宁</option>
					<option value="江苏">江苏</option>
					<option value="湖北">湖北</option>
					<option value="四川">四川</option>
					<option value="陕西">陕西</option>
					<option value="河北">河北</option>
					<option value="山西">山西</option>
					<option value="河南">河南</option>
					<option value="吉林">吉林</option>
					<option value="黑龙江">黑龙江</option>
					<option value="内蒙古">内蒙古</option>
					<option value="山东">山东</option>
					<option value="安徽">安徽</option>
					<option value="浙江">浙江</option>
					<option value="福建">福建</option>
					<option value="湖南">湖南</option>
					<option value="广西">广西</option>
					<option value="江西">江西</option>
					<option value="贵州">贵州</option>
					<option value="云南">云南</option>
					<option value="西藏">西藏</option>
					<option value="海南">海南</option>
					<option value="甘肃">甘肃</option>
					<option value="宁夏">宁夏</option>
					<option value="青海">青海</option>
					<option value="新疆">新疆</option>
				</select>
			</div>
			<div class='col-xs-2'>
				<button class='btn btn-default btn-info'  id='getOrderBtn'>自动抢单</button>
			</div>
			<div class='col-xs-2'>
				<button class='btn btn-default btn-danger' id='stopGetOrderBtn'>停止抢单</button>
			</div>
            <div id="jplayer"></div>
		</div>
        <br />
        <div class='row'>
             <div class='form-inline'>
				 <label>
                    <input type="checkbox" id="autosubmit"  value="1" checked="">自动提交待充值:剩余时间设置<input type="number" id="limit" value=5 class="form-control"/>分钟。 <a id='diff_time'>-1</a>秒后将自动提交。
                 </label>
			</div>
         </div>
    */}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1];
    $('h3.page-header').parent().after(html);

    if(localStorage.getItem('TICKET_PRICE') != null) {
          // alert(localStorage.getItem('TICKET_PRICE'));
          $('#amount').find("option:selected").attr("selected",false);
          $('#amount').find("option[value='"+ localStorage.getItem('TICKET_PRICE')+"']").attr("selected",true);
    }

    var check_submit = function () {
        if ($('#autosubmit').attr("checked") == undefined) return ;
        var limit = $('#limit').val() * 60;
        var timestamp = parseInt((new Date()) / 1000) - INIT_TIME;
        $(".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) {
                   var url = 'ajax?action=task_report&op=succ&id=' + $('tr:eq(1) td:nth-child(1)').html();
                   X.get(url);
            }
        });
    };
    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);
         }
    });

    $("#stopGetOrderBtn").attr('disabled',true);
    $("#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...
})();