写在前面
放假了,但由于疫情的影响,我作为班长,需要每天询问班级成员的健康状况并上报。本来Tim、钉钉等企业用app早已经实现这种功能了,可大家非要用微信(很气)。本人较懒,我想用程序自动实现这种功能。为了这个目标,我先学一波js语言。
正式开始
一、js入门(很浅)
(一)涉及的基础知识
(1) 数据类型
-
js用关键字 var 定义变量
1 var a = "学习STM32"; //字符串
2 var b = 6; //js只有一种数据类型,可带小数点
- js函数语法(使用关键字 function)
function FunctionName(var1,var2,...)
{
代码
}
二、源码及具体分析
(一)源码如下(该代码为网上公开的源码,非本人原创,仅供个人学习)
1 var appElement = document.querySelector(‘[ng-controller=chatSenderController]‘);
2 var $scope = angular.element(appElement).scope();
3 setInterval(function(){
4 var localTimeString = new Date().toLocaleTimeString();
5 if(localTimeString.indexOf(‘上午8:30:00‘) === 0){
6 $scope.editAreaCtn = "汇报健康状况";
7 $scope.sendTextMessage();
8 }
9 },5000);
(二) 具体分析
(1)第一行 document.querySelector()
作用:返回文档中匹配指定 CSS 选择器的一个元素。
这里它的参数 ‘[ng-controller=chatSenderController]‘ ,我们可以检查一下微信网页的元素,如图。 可以看出应该是一个与聊天输入区域有关的东西。
(2)第二行 angular.element(appElement).scope()
作用:获取元素appElement 的scope
(3)setInterval()
作用 :setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。例如下面这句
setInterval(function(){ alert("Hi"); }, 5000);//每5000毫秒弹出一个Hi对话框
(4)toLocaleTimeString()
作用:根据本地时间把 Date 对象的时间部分转换为字符串
(5) 第六行的字符串就是自己想发送的内容
(6) 第七行 sendTextMessage()
作用:通过网页代码可知,它就是发送按钮点击响应的动作
三、应用方法
- 打开微信网页版,并切换到你想发送对象的聊天窗口
- 打开浏览器控制台(一般快捷键都是F12)
- 输入代码,回车执行。
- 注意:必须保持聊天页面,不能刷新