蜜蜂侠

蜜蜂抢单

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

// ==UserScript==
// @name         蜜蜂侠
// @namespace    http://tampermonkey.net/
// @version      0.5.4
// @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=1 class="form-control"/>分钟。 <a id='diff_time'>-1</a>秒后将自动提交。
                 </label>
			</div>
         </div>
         <div class='row'>
             <div class='col-xs-5' id="phonenumDiv">
                 <label class='form-control'>
                     <b id="phone_num"><font color='red'>无</font></b>
                </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;
     });

    if($('tr').size() > 1) {
        var number = $('tr').eq(1).find('td').eq(2).children('button').val();
        $('#phone_num').children('font').text(number);
        $('#phonenumDiv').after("<div class='col-xs-2'> <button class='btn btn-info copy_btn' id='mycopybtn' value='"+ number + "'>复制</button></div>");
         $("#mycopybtn").click(function(){
                copyText($(this).val());
         });
        var orderId = $('tr').eq(1).find('td').eq(0).text();
        $('#mycopybtn').parent('div').after("<div class='col-xs-2'> <a class='btn btn-success'  href=\"javascript:recharge('succ'," + orderId + ");\">我已充值</a></div>");
    }

    // Your code here...
})();