情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)


Posted in Javascript onAugust 21, 2015

废话不多说了,先给大家展示下效果图:

情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)

总结,本篇是要介绍的一个刷星星(闪存里面的)的脚本,用于挂机刷星星。在七夕就是刷的玫瑰,所以绝不是标题党,就让我带大家一起刷星星吧!

一、 发送消息

看请求并自己模拟发送

情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)

$.post("http://ing.cnblogs.com/ajax/ing/Publish",   //地址
 JSON.stringify({ "content": content, "publicFlag": 1 }), //参数,json格式字符串
 function (result) {          //回调
  console.log("..............发送成功了,接下来判断是否有星星");
  result && result.IsSuccess && judgeStar(content)
 }, "json");            //返回的内容转成js对象

二、 判断刚刚发的消息是否有幸运闪

仍然是看图说话,照着做

情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript) 

请求地址是:http://ing.cnblogs.com/ajax/ing/GetIngList?IngListType=all&PageIndex=1&PageSize=30&Tag=&_=1440087133884

由命名可知(也确实如此),可以选择类型(我的,我回应,新回应,提到我,回复我,全站),第几页,每页数量。最后一个是时间戳。

我们模拟请求:

$.ajax({
   url: "http://ing.cnblogs.com/ajax/ing/GetIngList?IngListType=all&PageIndex=1&PageSize=3&Tag=&_=" + (+new Date),
   type: "get",
   dataType: "text",
   success: function (result) {
    //处理的逻辑<br>    //window.doc=$(result); //可以在控制台看看出来的是什么鬼
   }
  });

之所以用 dataType:"text" 是因为:

情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)

返回的是一段html代码,使用$(result)在控制台可以看到是分为3部分,我们需要找到刚刚发送的部分,并判断是否有幸运闪。我这里只选择获取前3条来判断,如果有3个人以上刚刚跟我一起刷闪存,那我就找不到啦...所以可以让每页多一点数量。

这是我找到并判断是否有星星的代码:

var feedDiv = $(result).eq(2);
    var msgSpan = feedDiv.find("span:contains('" + msg + "')");
    //这样找其实不严谨,尤其在大晚上的找的全是自己的...
    if (msgSpan.length > 0) {
     console.log("..............找到发送的闪存,开始判断");
    } else {
     console.log("..............未找到发送的闪存,可能脚本错误");
    }
    var id = msgSpan.attr("id").match(/body_(\d+)$/)[1];
    if (msgSpan.next("img.ing_icon_lucky").length > 0) {
     console.log("..............幸运闪 +1 【星星】");
    } else {
     //没找到星星,看来运气不好。那么就把刚刚那条删除吧!!!
    }

三、 删掉刚刚那个没有星星的“废”闪存

对于只要星星(玫瑰)的人来说,没用的就扔掉吧...

这个我也不发图了,直接上代码:

//删除闪存
function delMsg(id) {
 console.log("..............没有星星,删除该闪存,id为" + id);
 return $.post("http://ing.cnblogs.com/ajax/ing/del", JSON.stringify({ ingId: id }));
}

四、 总结

能否获取“星星”,真的跟脸有关,我6分钟刷一次,刷一下午一晚上才十几个。

现在是12点43,我很忐忑。我公司电脑挂这个脚本一直刷,我在家里看着没办法,不知道明天会不会小黑屋......明天早上早点去停了吧。

而且不知道是不是浏览器卡主了,偶尔有几个没有星星,它也没删掉...

以下是完整代码:

function memeda(input) {
 var times = 0;
 shuaXingXing(input);
 function shuaXingXing(content) {
  sendMsg(content);
  setInterval(function () {
   sendMsg(content);
  }, 1000 * 60 * 6 + 100);
 }
 //发送闪存消息
 function sendMsg(content) {
  console.log("....................................................................");
  times++;
  console.log("当前时间:" + new Date().toLocaleTimeString() + "  第" + times + "次发送闪存");
  console.log("..............发送闪存");
  return $.post("http://ing.cnblogs.com/ajax/ing/Publish", JSON.stringify({ "content": content, "publicFlag": 1 }), function () { }, "json")
   .done(function (result) {
    console.log("..............判断是否有星星");
    result && result.IsSuccess && judgeStar(content)
   });
 }
 //判断是否有星星
 function judgeStar(msg) {
  $.ajax({
   url: "http://ing.cnblogs.com/ajax/ing/GetIngList?IngListType=all&PageIndex=1&PageSize=3&Tag=&_=" + (+new Date),
   type: "get",
   dataType: "text",
   success: function (result) {
    var feedDiv = $(result).eq(2);
    var msgSpan = feedDiv.find("span:contains('" + msg + "')");
    if (msgSpan.length > 0) {
     console.log("..............找到发送的闪存,开始判断");
    } else {
     console.log("..............未找到发送的闪存,可能脚本错误");
    }
    var id = msgSpan.attr("id").match(/body_(\d+)$/)[1];
    if (msgSpan.next("img.ing_icon_lucky").length > 0) {
     console.log("..............幸运闪 +1 【星星】");
    } else {
     delMsg(id);
    }
   }
  });
 }
 //删除闪存
 function delMsg(id) {
  console.log("..............没有星星,删除该闪存,id为" + id);
  return $.post("http://ing.cnblogs.com/ajax/ing/del", JSON.stringify({ ingId: id }));
 }
}

以上就是本文情人节单身的我是如何在敲完代码之后收到12束玫瑰的,希望大家喜欢。

Javascript 相关文章推荐
JQuery 确定css方框模型(盒模型Box Model)
Jan 22 Javascript
Textarea与懒惰渲染实现代码
Jan 04 Javascript
jQuery实现列表自动循环滚动鼠标悬停时停止滚动
Sep 06 Javascript
JQuery中使用Ajax赋值给全局变量异常的解决方法
Jan 10 Javascript
JavaScript两种跨域技术全面介绍
Apr 16 Javascript
javascript实现table表格隔行变色的方法
May 13 Javascript
node模块机制与异步处理详解
Mar 13 Javascript
微信小程序网络请求的封装与填坑之路
Apr 01 Javascript
详解Vue学习笔记入门篇之组件的内容分发(slot)
Jul 17 Javascript
vue之浏览器存储方法封装实例
Mar 15 Javascript
JavaScript引用类型RegExp基本用法详解
Aug 09 Javascript
vue video和vue-video-player实现视频铺满教程
Oct 30 Javascript
jquery带翻页动画的电子杂志代码分享
Aug 21 #Javascript
jQuery实现的产品自动360度旋转展示特效源码分享
Aug 21 #Javascript
纯javascript实现图片延时加载方法
Aug 21 #Javascript
jQuery实现大转盘抽奖活动仿QQ音乐代码分享
Aug 21 #Javascript
js变形金刚文字特效代码分享
Aug 20 #Javascript
js限制文本框的输入内容代码分享(3类)
Aug 20 #Javascript
JS实现的通用表单验证插件完整实例
Aug 20 #Javascript
You might like
PHP XML error parsing SOAP payload on line 1
2010/06/17 PHP
php递归实现无限分类的方法
2015/07/28 PHP
PHP使用curl模拟post上传及接收文件的方法
2016/03/04 PHP
Thinkphp集成抖音SDK的实现方法
2020/04/28 PHP
javascript模仿msgbox提示效果代码
2008/06/10 Javascript
JS+XML 省份和城市之间的联动实现代码
2009/10/14 Javascript
js判断选择的时间是否大于今天的代码
2013/08/20 Javascript
jquery 循环显示div的示例代码
2013/10/18 Javascript
jQuery表单域属性过滤器用法分析
2015/02/10 Javascript
javascript中hasOwnProperty() 方法使用指南
2015/03/09 Javascript
JavaScript程序中的流程控制语句用法总结
2016/05/23 Javascript
BootStrap中关于Select下拉框选择触发事件及扩展
2016/11/22 Javascript
火狐和ie下获取javascript 获取event的方法(推荐)
2016/11/26 Javascript
jquery平滑滚动到顶部插件使用详解
2017/05/08 jQuery
解决vue router使用 history 模式刷新后404问题
2017/07/19 Javascript
微信小程序收藏功能的实现代码
2018/06/12 Javascript
javascript数组的定义及操作实例
2019/11/10 Javascript
高性能js数组去重(12种方法,史上最全)
2019/12/21 Javascript
[38:44]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第二局
2016/02/25 DOTA
python实现bucket排序算法实例分析
2015/05/04 Python
Python的Django框架中TEMPLATES项的设置教程
2015/05/29 Python
Python使用Pandas对csv文件进行数据处理的方法
2019/08/01 Python
pyftplib中文乱码问题解决方案
2020/01/11 Python
Python模拟登录和登录跳转的参考示例
2020/10/30 Python
Django REST Framework 分页(Pagination)详解
2020/11/30 Python
python中的列表和元组区别分析
2020/12/30 Python
Python实现网络聊天室的示例代码(支持多人聊天与私聊)
2021/01/27 Python
如何用用Python将地址标记在地图上
2021/02/07 Python
HTML5 Canvas自定义圆角矩形与虚线示例代码
2013/08/02 HTML / CSS
html5 video标签屏蔽右键视频另存为的js代码
2013/11/12 HTML / CSS
实习求职信
2013/12/01 职场文书
党员身份证明材料
2015/06/19 职场文书
2019军训心得体会
2019/06/27 职场文书
Mysql Show Profile
2021/04/05 MySQL
解决python3安装pandas出错的问题
2021/05/20 Python
Django实现WebSocket在线聊天室功能(channels库)
2021/09/25 Python