(1)步骤如下:


(重新发送验证码)
(2)需求及思路说明:
输入正确的11位手机号,使用正则校验。
校验手机号的归属地----北京移动(这个根据需求而定)
点击 “获取验证码” ,获取成功与失败,都会以d框的形式展现,完成倒计时。
倒计时为 ‘0’ 的时候,按钮文字变成 “重新发送”
当按钮是 “获取验证码” 和 “重新发送” 的时候,按钮是可以点击进行倒计时的
在倒计时过程中,按钮是不可点击的(也就是防止在倒计时的过程中重复点击)
打开微信,找到最上方的搜索框,输入需要查找的内容。
2
例如,在搜索框中,输入“签到”,会出现和签到有关的各种内容。
此时我们找到有关于“签到”的小程序。
3
第一次打开小程序,需要进行授权,然后才可以使用。
4
登录后,可以新建属于自己的签到。
5
根据提示,设置签到里面的各项内容,如图所示。
6
设置后,点击确定,就可以生成一个属于自己的签到,每天进入小程序后,找到对应的签到内容,点击“签到”即可。
所有正则表达式的反向引用应该都差不多的
就是你有可能需要用到你前面用括号包起来的捕获,这时候就要用反向引用
比方你要匹配两个一样的单词,就需要
([a-zA-Z]+)\1
前面[a-zA-Z]+是若干个字母组成的单词,括号括起来就是一个捕获,\1是指整个正则表达式的第一个捕获,也就是刚才匹配好的单词,这样就可以实现匹配两个相同的单词
在替换的时候也有同样的需求,比方你要把一段文字除了第一个单词之外的其他东西都删除,就需要strreplace("^([a-zA-Z]+)$", "\1")
就是把所有文字替换成第一个匹配
毛豆网客服总监,北京交通大学硕士,曾任北京联合大学信息学院讲师,拥有十余年嵌入式系统研发经历和智能仪器测控领域的创业经历
由于项目的需求,接入了wechaty,感觉很好用,后来发现在发小程序部分还不能实现,在大神们的鼓励下,历经艰辛,改成了能用的状态。后来李卓桓建议我们提交PR,第一次给开源项目提交PR,本以为很简单,实际中也碰到了一些问题,好在都解决了。
新手做开发时,在这一步可能会花费大量的时间,我首次建立本地开发环境时,就花了一天的时间,这个时间完全可以节省下来,这里对wechaty-puppet-padpro本地开发环境的配置,做个简要说明,希望后续的开发者能更加容易的用wechaty做开发。
开发涉及到wechaty,wechaty-puppet,wechaty-puppet-padpro三个库,测试使用官方的wechaty-getting-started,各种关联错综复杂,这里需要感谢一下苏畅,在他的帮助下,我也花费了一天时间才跑通,但是在捅破窗户纸之后,发现其实也很简单
各个库之间的关联
即搭建好了开发环境,使用下面的命令即可开发测试,其中WECHATY_PUPPET_PADPRO_TOKEN需要获得有效的token
小程序的payload接口的定义如下
其中username和appid可以在小程序的后台获得,有这两项,就可以发送出小程序了,但是样子是这样的
thumbnailurl是预留的,目前还不起作用,计划未来通过这个url传送一个,用于小程序的封面,其余各项对应关系如下图
到这一步,由于无法自动生成cdnthumbnail相关的信息,小程序还不能显示出,为了满足业务的需要,我们通过分析小程序xml,提取出了相关数据,硬编码在padpro里,这样终于可以发送出一个相对完整的小程序了,缺点是是固定的。未来如果有高手熟悉小程序cdn这部分,可以继续完善padpro。
关于wechaty-puppet-padpro中小程序的详细部分,可以参考 如何用PadPro实现发送微信小程序
我们目前的业务场景,还是比较简单的,程序里通过正则表达式就能比较好的满足我们的需求
毛豆少儿课堂小程序,初步是想通过识别出时间,设置课程提醒,所以对于时间的识别就很关键,经过测试对比,我们NLP最终选用了微软的 @microsoft/recognizers-text-suite ,微软NLP比较复杂,根据输入的文本,返回一个复杂的json值,在这个返回值中,找到需要字段中的时间。寻找优先级路径如下图,如果在datetime中找到有效时间,就返回,否则在time中查找,如此一级一级,如果所有字段都没有有效时间,返回空,不建立课程提醒。
在文本的识别中,有一些特殊需要处理的地方
在微信文本中,经常会遇到一些表情符号,有可能会影响到识别,通过正则表达式,可以去除
还有一些文本信息,如果以空格开头,也会影响识别,下面是去除开头空格的正则表达式
在 周日晚上6:30 这种语言环境下,晚上6:30没有歧义,但是周日,可以看到nlp解析出两个日期,上周日和本周日,一般本周日才是我们要表达的,所以此处选用第二个结果
在 6月9日10点 这种语言环境下,会产生两个歧义四种结果,今年或明年的6月9日,上午或下午10点,所以可以看到识别的结果是四个,第二个结果正好巧合是我们需要的。
而换成 6月9日22点 这种语言描述,时间的歧义没有了,会返回两个年的结果,今年或明年的6月9日,按照之前惯例,仍然选用第二个识别结果,就会产生误差,明年的6月9日,明显不是需要的结果。
在实际测试中,在时间前会出现 某某号楼 这样的词语,例如下面的实例,出现 九号楼 ,会导致识别成日期9日
为了避免类似问题,通过正则表达式,在号楼前加入#,可以较好的解决这类问题。
在时间识别中,还有类似 2-6点 这种描述,NLP会识别出6点,而我们想要的却是开始时间2点
通过正则表达式,将 (数字)-(数字)点 这种描述,改写成 (数字)点-(数字)点 ,就能较好的识别出开始时间
由于和客户沟通的入口,都放在微信小助手,而小助手新加好友后,微信会有自动回复: 我通过了您的朋友验证请求,现在我们可以开始聊天了 ,其中关键词 现在 ,会导致识别出当前时间,让小助手创建提醒,并推送给新加好友,造成不好的体验。
然而关键字 现在 也很重要,所以这里通过正则表达式,将 现在我们 删除,防止错误的识别,同时也能保留关键词 现在
经过前面的处理后,如果正确识别出了时间,就可以根据句子中的关键词,给用户推送相应的服务。目前小助手支持会议模式,直播模式和课堂模式。
实际测试效果,如下图所示
最后,在现场做了一个 毛豆课堂 的demo,通过和小助手互动,我创建了课程和小程序提醒,将小程序推送给现场嘉宾,加入小程序提醒后,会收到短信上课提醒,通过短信中的链接,能很快速进入课堂进行互动。
目前,wechaty发送微信小程序,毛豆小助手的时间识别,还有许多需要改进的地方。我们希望逐步的完善,找到一个最佳的体验。
做项目过程中,经常遇到接口里传过来的内容是包含html标签的,但是样式又不全面,导致在小程序显示的时候,整个界面都是乱的。
这时候就要用到 rich-text
使用:
有时候展现的也是没有样式的,导致会按照原始大小显示,超出界面框架。我们需要用正则将内容转义一下:
新建一个js文件 replaceImgjs :
在对应的界面调用:
可以在小程序内尝试打印看看获取到的最后的内容;
这时候的img标签已经被加上的style。
以下是小程序转换的特殊字符实体,在数组中插入转义特征符和html实体符号,以及下面的正则规则中新增就可以替换了,下面是我个人使用的一些常用的
escape2Html: function(str) {
var arrEntities = {
'lt': '<',
'gt': '>',
'nbsp': ' ',
'amp': '&',
'quot': '"',
'middot':'·',
'amp':'&',
'brvbar':'¦',
'mdash':'—',
'ndash':'–',
'ge':'≥',
'le':'≤',
'laquo':'«',
'raquo':'»',
'deg':'°',
'bull':'•',
'macr':'¯',
'#64':'@'
};
return strreplace(/&(lt|gt|nbsp|amp|quot|middot|amp|brvbar|mdash|ndash|ge|le|laquo|raquo|deg|bull|macr|#64);/ig, function(all, t) {
return arrEntities[t];
});
},
以上就是关于如何找作业小程序里面的验证码全部的内容,包括:如何找作业小程序里面的验证码、微信签到小程序怎么做、php 正则表达式 反向引用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)