jquery使用ajax实现微信自动回复插件

myscript.js

代码如下:

var _autorun;
var str = new Array('转发什么','分享什么','已转发','已轉發','己转发','继续申请','在不','已发送','以转发','以分享','已分享','yv','bv','gv','pv','rv','你好','美女','索要','代码','我要','要v','要加v');
var isrun = false;
var i=0;
function start(){
    console.log('第'+(++i)+'次刷新');
    var chatListColumn =$(".chatListColumn");
    chatListColumn.each(function(){
        var _this = this;
        var _me = $(this);
        var attr = $(this).attr('un');
        if((attr!='')&&(attr!='filehelper')&&(attr!='weixin')&&(attr!='newsapp')&&(attr!='fmessage')){
            //console.log($(this).attr('un'));
            var disp =  _me.find('p.desc').html();
            disp = disp.toLowerCase();
            disp = disp.trim();
            for (var i = 0; i < str.length; i++){
                if(disp.indexOf(str[i])!=-1){
                    isrun=true;break;
                }
            };
           if(disp.indexOf('你已添加了')!=-1||disp.indexOf('通过了你的好友验证请求')!=-1||disp.indexOf('你添加到通讯录')!=-1){
                _this.click();
                var _input = $("#textInput");
                var  message = _ajax('你已添加了',attr);
                _input.val(message);
                var _click = document.getElementsByClassName("chatSend");
                _click[0].click();
                isrun=false;
            }
            else if((disp.indexOf('发送好友验证请求')!=-1)&&disp!=''){
                isrun=false;
            }
            else if((disp.indexOf('仔细阅读上述消息')!=-1)&&disp!=''){
                isrun=false;
            }
            else if(disp!=''){
               isrun=false;
           }
            //console.log(disp);
            /*if(isrun){
                _this.click();
                var _input = $("#textInput");
                var  message = _ajax(disp,attr);
                _input.val(message);
                var _click = document.getElementsByClassName("chatSend");
                _click[0].click();
                isrun=false;
            }
            else if(disp.indexOf('你添加到通讯录')!=-1){
                _this.click();
                var _input = $("#textInput");
                var  message = _ajax('你添加到通讯录',attr);
                _input.val(message);
                var _click = document.getElementsByClassName("chatSend");
                _click[0].click();
                isrun=false;
            }
            else if(disp.indexOf('你已添加了')!=-1||disp.indexOf('通过了你的好友验证请求')!=-1){
                _this.click();
                var _input = $("#textInput");
                var  message = _ajax('你已添加了',attr);
                _input.val(message);
                var _click = document.getElementsByClassName("chatSend");
                _click[0].click();
                isrun=false;
            }
            else if((disp.indexOf('发送好友验证请求')!=-1)&&disp!=''){
                isrun=false;
            }
            else if((disp.indexOf('仔细阅读上述消息')==-1)&&disp!=''){
                _this.click();
                var _input = $("#textInput");
                var  message = _ajax('other',attr);
                _input.val(message);
                var _click = document.getElementsByClassName("chatSend");
                _click[0].click();
                isrun=false;
            }*/

}
    })
}
function _ajax(disp,attr){
    var message='';
    $.ajax({
        url:'http://112.124.97.72/Auto_Server/autoserver.php',
        async:false,
        type:'GET',
        data:"message="+disp+"&id="+attr,
        success:function(e){
            if(e){
                message = e;
            }
            else{

}
        }
    })
    return message;
}
var time='3500';
 function run(){
    _autorun = setInterval('start()',time);
}

//alert(1);
var button = "<div id='plugin'><p id='message'>注意待左侧会话列表完全加载完毕之后再点击以下按钮 V1.4.4 只回复第一条版本</p>";
    button+="<button id='weixin_button'>执行脚本</button>";
    button+="<button id='stop'>停止脚本</button>"
    button+="<span>脚本刷新一次时间调整:</span><input type='number' id='frequ' value='3.5'><span>秒</span><button id='sub'>确定</button></div>";
$("body").prepend(button);
$("#weixin_button").click(function(){
    $(this).css({'background':'#30DA59','color':'rgb(253, 248, 248)'});
    $("#stop").css({'background':'#BEC7C0','color':'rgb(14, 9, 9)'})
    run();
})
$("#stop").click(function(){
    $(this).css({'background':'#30DA59','color':'rgb(253, 248, 248)'});
    $("#weixin_button").css({'background':'#BEC7C0','color':'rgb(14, 9, 9)'})
    window.clearInterval(_autorun);
})
$("#sub").click(function(){
    var _second = parseFloat($("#frequ").val());
    if(_second<2){
        alert('刷新时间过短,人数增加较多时可能出现脚本崩溃!请重新设置!');
        $("#frequ").val('3.5');
        time = 3500+"";
    }
    else if(_second>6){
        var is_true = confirm('刷新时间过长,用户可能很长时间接收不到消息,确定需要这样设置吗?');
        if(is_true){
            time = _second*1000+"";
            alert('修改刷新时间后请停止脚本之后再点击执行脚本才能生效.');
        }
        else{
            $("#frequ").val('3.5');
            time = 3500+"";
        }
    }
    else{
        time = _second*1000+"";
        alert('修改刷新时间后请停止脚本之后再点击执行脚本才能生效.');
    }
    console.log("时间修改为:"+time+"毫秒");
})

(0)

相关推荐

  • NodeJS实现微信公众号关注后自动回复功能

    一 实先自动回复功能的逻辑步骤 1 处理POST类型的控制逻辑,接收XML的数据包: 2 解析XML数据包(获得数据包的消息类型或者是事件类型): 3 拼装我们定义好的消息: 4 包装成XML格式: 5 在5秒内返回回去 二 代码实操 本节代码参照上节课继续修改和完善,目录结构跟之前相同,新引入的模块raw-body使用npm install安装一下即可,app.js启动文件和util.js不做变动,主要修改一下generator.js文件,以及在generator.js同级目录下新建wecha

  • 详解nodejs微信公众号开发——4.自动回复各种消息

    上一篇文章:nodejs微信公众号开发--3.封装消息响应模块,实现了对消息接口的模块化处理,方便后期的使用,本篇文章将介绍微信公众号回复各种消息的功能实现,包括文本.图片.语音.视频.音乐.图文等. 注:感觉最近localtunnel很不稳定,测试起来比较麻烦,有条件的自己搞个云服务器吧,我比较偷懒,几继续使用localtunnel了. 1. 被动回复用户消息 当用户发送消息给公众号时(或某些特定的用户操作引发的事件推送时),会产生一个POST请求,开发者可以在响应包(Get)中返回特定XML

  • 详解nodejs微信公众号开发——2.自动回复

    上一篇文章:nodejs微信公众号开发(1)接入微信公众号,本篇文章将在此基础上实现简单的回复功能. 1. 接入代码的优化 之前我们简单粗暴的实现了微信公众号的接入,接入的代码直接写在了app.js文件里面,从项目开发的角度而言,不便于日后代码的维护,所以将这部分代码独立出来,按照koa的风格,写成一个中间件. 在根目录下新建wechat文件夹,新建generator.js文件, var sha1 = require('sha1'); module.exports = function(opts

  • jquery使用ajax实现微信自动回复插件

    myscript.js 复制代码 代码如下: var _autorun;var str = new Array('转发什么','分享什么','已转发','已轉發','己转发','继续申请','在不','已发送','以转发','以分享','已分享','yv','bv','gv','pv','rv','你好','美女','索要','代码','我要','要v','要加v');var isrun = false;var i=0;function start(){    console.log('第'+(

  • PHP+Jquery与ajax相结合实现下拉淡出瀑布流效果【无需插件】

    导读: 瀑布流,又称瀑布流式布局.是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部.最早采用此布局的网站是Pinterest,逐渐在国内流行开来.国内大多数清新站基本为这类风格,像花瓣网.蘑菇街.美丽说等. 不废话,直接上代码,整段代码分为前后两段代码,具体代码如下所示. 前台: <?php <br>$category=$this->getMyVal('category',$_GET);<br>

  • jQuery的ajax传参巧用JSON使用示例(附Json插件)

    jQuery的ajax调用很方便,传参的时候喜欢用Json的数据格式.比如: 复制代码 代码如下: function AddComment(content) { var threadId = $("#span_thread_id").html(); var groupId = $("#span_group_id").html(); var groupType = $("#span_group_type").html(); var title =

  • jQuery Ajax 实现分页 kkpager插件实例代码

    代码片段一: <!--分页组件 JS CSS 开始--> <!--分页组件 CSS--> <link type="text/css" href="/resource/css/kkpager_blue.css" rel="external nofollow" rel="stylesheet" /> <!--分页组件 JS--> <script type="text/

  • jQuery simplePage+AJAX plus分页插件用法实例

    本文实例讲述了jQuery simplePage+AJAX plus分页插件.分享给大家供大家参考,具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml&q

  • jquery实现ajax加载超时提示的方法

    本文实例讲述了jquery实现ajax加载超时提示的方法.分享给大家供大家参考,具体如下: index.php <!doctype html> <html> <head> <meta charset="utf-8"/> <title>加载超时</title> <script type="text/javascript" src="http://lib.sinaapp.com/js

  • 详解JavaScript中jQuery和Ajax以及JSONP的联合使用

    借助于 XMLHttpRequest,浏览器可以在整个页面不刷新的情况下与服务端进行交互,这就是所谓的 Ajax(Asynchronous JavaScript and XML).Ajax 可以为用户提供更为丰富的用户体验. Ajax 请求由 JavaScript 驱动,通过 JavaScript 代码向 URL 发送一个请求,待服务端有响应时会触发一个回调函数,可以在这里回调函数里面处理服务端返回的信息.由于整个发送请求和响应的过程是异步的,所以在此期间页面中其它 Javascript 代码仍

  • jQuery基于$.ajax设置移动端click超时处理方法

    本文实例讲述了jQuery基于$.ajax设置移动端click超时处理方法.分享给大家供大家参考,具体如下: 这里介绍jquery click事件如何在移动端自动转换成touchstart事件. 因为移动端click事件会比touchstart事件慢几拍 移动设备某个元素上事件执行顺序是: touchstart touchmove touchend click{mousedown->mousemove->mouseup} click事件在移动设备上虽然会识别但却是最后一个执行的,所以如果不把c

  • jQuery基于ajax实现页面加载后检查用户登录状态的方法

    本文实例讲述了jQuery基于ajax实现页面加载后检查用户登录状态的方法.分享给大家供大家参考,具体如下: 拥有会员功能的网站,如果会员已经登录,那么要显示相应的登录状态,而且这种显示的需求是在网站的每个页面都有的(目前国内网站貌似都是这么做的,还没有见过其他形式的状态显示方式),这样,在打开一个新的页面时就要知道这个会员是否已经登录,需要判断登录的状态. 1.解决方案. 为了能够实现在每一个页面判断会员登录状态的功能,我采用了页面时通过ajax传递参数通过后端返回的登录状态结果进行判断,当然

  • JQuery中Ajax()的data参数类型实例分析

    本文实例分析了JQuery中Ajax()的data参数类型.分享给大家供大家参考,具体如下: 前面简单分析介绍了<ajax中data传参的两种方式>,对于ajax参数传递方式有了初步的了解,这里就来进一步分析一下ajax中data参数的类型. 假如现在有这样一个表单,是添加元素用的. <form id='addForm' action='UserAdd.action' type='post'> <label for='uname'>用户名</label>:&

随机推荐