• 新浪微博:
  • 微信 :
按键精灵电脑版
立即下载

软件版本:2014.05
软件大小:21.6M
更新时间:07-04

按键精灵安卓版
立即下载

软件版本:3.3.5
软件大小:62.5M
更新时间:9-25

按键精灵iOS版
立即下载

软件版本:1.3.5
软件大小:29.2M
更新时间:06-14

最新企业版UiBot
立即下载

软件版本:3.3
软件大小:282M
更新时间:08-06

快捷导航

登录 后使用快捷导航
没有帐号? 注册

登录 注册
发新话题 回复该主题

[13教程进阶篇]11.微信(2) [复制链接]

1#

微信(2




作为现在手机上使用最广泛的软件之一----微信,我们可以挖掘出很多的需求,当然,对于一个基本只会用扣扣的土包子,我就假装自己很明白你们的需求,这次我要做的是微信的发信息到朋友圈和打招呼的功能,当然,功能本身不重要,重要的是实现的方法。(本节文字略多,但全是干货,请不要略过)






上一节我们讲了如何进行任务的管理,这次咱要说的是就是任务的制作姿势,确认功能之后的脚本最重要的两个因素,无非就是稳定性和效率,前者要优先于后者。

先说稳定性,我们已经有完整的任务管理机制和数据来记录用户的完成情况,因此任务无论完成与否,最后都会反映到数据的变化上,即使没有完成,下一次的任务管理也会继续的分配这一任务。因此我们需要为任务进行一定的超时机制,并在任务的执行时间内,能强制结束此任务。(好吧,又是多线程来了!)

直接看代码:




我们把真正的任务进行放到一个线程中,在线程后加上一个Do循环,通过共享变量来侦查脚本的运行状态,如果脚本正常进行,会将“任务计时重置”设定为ture,Do循环内识别到,就重置超时时间。当任务线程将“任务结束标志”设定为true的时候,证明此任务已经做完,就可以退出这个Do循环了。

如果在中间任务超过一定的时间没有反馈,就会启动超时处理的函数,我们可以直接强制结束任务(停掉任务线程),并进行一系列操作(检测状态,或者直接重启)。

以朋友圈发消息为例,当超时之后,我只需要结束这个任务,等待下次分配即可。

解决了稳定性的因素,我们再来看看效率的问题,第一个肯定就是脚本的延时,越短的延时脚本的处理速度越快,第二个就是步骤的优化,我们假设一个任务有5个步骤,分别对应了5个界面,那么我们是否可以在一开始检测一次界面,比如检测到在第三个,我们是否可以直接进行3、4、5三个步骤,而不是先回到第一个步骤再往下运行呢?来看看例子:




这是朋友圈发消息的进程,我们先判定一次界面,根据返回值来决定处理的方式,代码中我们判定为“首页”的时候,步骤中就省了一步回到首页的操作,如果判定界面在朋友圈内,我们又可以节约点击发现和点击朋友圈两个操作。(咳咳,之所以图中没有,咳咳,懒癌晚期你懂的~)。

优雅的处理方式带来赏心悦目的体验,学会并使用吧!











本主题由 副管理员 兄弟工程师13 于 2016/7/27 14:08:28 执行 移动主题 操作
2#

写的真好~~~~~~~~

3#

赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞

发新话题 回复该主题