微信号轮替算法升级

作者:zhoujie | 分类:竞价推广 | 浏览:159

通常页面中会放上不同的微信号,为了让微信号自动的切换,需要编写一些算法,最为常见的方式是按照概率无差异的显示,具体的如下:

var wx_index = Math.floor((Math.random()*arr_wx.length));

但是这种方式对于有特殊需要的用户来说并不合适,针对按照时间变换微信号的方式,我编写了下面的算法:

 

//qrcodes变量中一行为一个时间段   TimeBegin表示时间段开始,TimeEnd表示时间段结束,Span表示间隔几分钟换一个号,QrCodes标识在此时间段内显示的QQ数组

        var qrcodes = [

                { TimeBegin: "00:00", TimeEnd: "18:00", Span: 5, QrCodes: ["zyys25896", "zyys25678",  "gcd82789"] },

                { TimeBegin: "18:00", TimeEnd: "23:59", Span: 3, QrCodes: ["zyys25895", "zyys25674",  "gcd82783"] },

              ];

 



        function getQQCode() {

            var result = "";

            var _currTime = new Date().getHours().toString();

            var _minutes = new Date().getMinutes();

            if (_minutes < 10)

                _currTime += "0";

            _currTime += _minutes.toString();

            _currTime = parseInt(_currTime);

            for (var i = 0; i < qrcodes.length; i++) {


                var _timeBegin = parseInt(qrcodes[i].TimeBegin.replace(":", ""));

                var _timeEnd = parseInt(qrcodes[i].TimeEnd.replace(":", ""));

                if (_timeEnd == 0)

                    _timeEnd = 2400;


                if (_timeBegin < _currTime && _currTime <= _timeEnd) {

                    var _span = qrcodes[i].Span;

                    var _qrcodes = qrcodes[i].QrCodes;


                    var _index = 0;

                    var _t = (_currTime - _timeBegin);


                    if (_t >= _span) {

                        _t = parseInt(_t / _span);

                        _index = parseInt(_t % _qrcodes.length);


                    }

                    result = _qrcodes[_index];

                }

            }

            if (result == null || result == undefined || result == "")

                result = qrcodes[0].QrCodes[0];

            wechat = result;


            return result;

        }


var wechat = getQQCode();



上面的算法实现的功能是在指定的时间范围内让一些微信号按照特定的时间频率展现,这样的好处是按照时间范围吸粉,将优质的时间段的粉分配给业务能力强的客服处理,在花费同样广告费的情况下,为客户产生最多的效益