技术心得:微信小助手之wechaty模块(个人笔记,于人无用)

简介: 技术心得:微信小助手之wechaty模块(个人笔记,于人无用)

//请注意,这是一篇自言自语的笔记,不是科普文。


分一下,就是


2 能够接收别人发送来的信息,也即信息可以被服务端取到。


在github上转了一圈,盯上了一个叫wechaty的开源项目,github.com/wechaty/wechaty,经过一番研究,发现满足了登陆,接收要求,发送的要求,也即箭头所示。


接下来怎么放到我的项目中,可以很优雅的使用呢(egg.js)?


----------待研究


在github上 发现了一个相关项目:


可以研究下在egg下怎么用。


运行不起来,需要端口6379,难道是因为用到了redis的缘故?


经过研究这个项目的router.js,发现好像是通过http接口的形式触发的,那现在我想要启动egg.js的项目时就要启动这个进程~


解决办法,在app.js这里写。


async didLoad() {


// 所有的配置已经加载完毕


// 可以用来加载应用自定义的文件,启动自定义的服务


// 例如:创建自定义应用的示例


this.app.queue = new Queue(this.app.config.queue);


await this.app.queue.init();


}


这个生命周期函数~


现在继续了解下,wechaty这个插件怎么用,要了解插件怎么用,肯定是要上npm官网去了解。


发现:


async didLoad() {


// 所有的配置已经加载完毕


// 可以用来加载应用自定义的文件,启动自定义的服务


// 例如:创建自定义应用的示例


Wechaty.instance() // Global Instance


//代码效果参考:http://www.lyjsj.net.cn/wz/art_23490.html

.on('scan', (qrcode, status) => console.log( Scan QR Code to login: ${status}(qrcode)}))

.on('login', user => console.log(User ${user} logined))


.on('message', message => console.log(Message: ${message}))


.start()


}


启动了之后没有进行登陆操作,很奇怪,难道是因为


不是哦 是可以直接用哦,可能是第一次使用,要用node.js下载什么配置文件?所以现在登录了。


现在要不要拆分成两个启动项目?也即同一个项目,但是不同启动,这样子可以互不干扰?


又在github上逛了一圈,发现了一个宝藏


看到里面的功能,恰好就有


很需要这个定时提醒功能,定时功能底层应该是schdule这个库实现的。


他的另一个库我发现就是合在一起写的,分开写的目的是什么呢?合起来的目的又是什么呢?


现在有个疑惑就是,假设拆分成两个项目,能不能公用哪些service层的代码?


终于明白了分开两个项目的目的,因为wechat是前端部分,koa是后端部分~~~


工具函数应该放在middleWare中。看了一下egg.js文档,middleWare是用来拦截http请求,处理消息的。那是否应该放在extend文件夹下?又浏览了一下,发现extend文件夹下只能放固定的几个文件,而且是自动合并到相关的变量(字段?)上去,不用显性require的。


感觉对egg不是很熟悉,算了,看看有没有前人栽树,github上转了一圈,发现还没有前人,尴尬。


发现egg.js里面有定时任务的配置,不需要另外配置schdule库,猜想应该是内置了。


疑问,怎么把这个项目融进去?


现在遇到个困难,class好像每一次调用都会造成this.data数值改变(js基础都忘了,尴尬)


那就只有弄一个 全局变量存起来先。


发现在extend文件夹下好像可以export一个变量,全局都可以调用。


现在已经把所有代码修改成class的形式了,现在有一个问题,就是bot.on('message',func)的时候,func里面this的绑定的问题,只要用上了()=>func()的时候,func里面执行的this就不再指向wechaty了,这个很糟糕,换成function(msg){return //代码效果参考:http://www.lyjsj.net.cn/wx/art_23488.html

func(msg,ctx)}也是不行,也就是说现在要解决this 的指向问题?如何在事件监听定义这里不改变this的指向?

解决办法就是把wechaty实例传过去。(hhhh)


现在怎么把两个库合在一起?一个是用户库 一个是日程库 一个是wechat


现在就是要把wechat用户的唯一id作为凭证?使用pad的方式登录,详情看


拆分成两个egg项目,这样子就不会两个都崩了。


有一个疑问,wechaty是怎么做到准确无误地把信息发给正在聊天的人的?


就是通过什么记录状态?socket?


现在呢,通过alias查找联系人,并且


现在发现了一个问题,就是下面的问题:


只有异步才能解决异步,是时候看一下es6 //代码效果参考:http://www.lyjsj.net.cn/wz/art_23486.html

promise的知识了。

-----------------还是先了解下wechaty这个模块有哪些api?是怎么做到登陆的?

相关文章
|
25天前
|
存储 缓存 关系型数据库
社交软件红包技术解密(六):微信红包系统的存储层架构演进实践
微信红包本质是小额资金在用户帐户流转,有发、抢、拆三大步骤。在这个过程中对事务有高要求,所以订单最终要基于传统的RDBMS,这方面是它的强项,最终订单的存储使用互联网行业最通用的MySQL数据库。支持事务、成熟稳定,我们的团队在MySQL上有长期技术积累。但是传统数据库的扩展性有局限,需要通过架构解决。
65 18
|
1月前
|
存储 监控 容灾
社交软件红包技术解密(五):微信红包系统是如何实现高可用性的
本次分享介绍了微信红包后台系统的高可用实践经验,主要包括后台的 set 化设计、异步化设计、订单异地存储设计、存储层容灾设计与平行扩缩容等。听众可以了解到微信红包后台架构的设计细节,共同探讨高可用设计实践上遇到的问题与解决方案。
50 5
|
1月前
|
存储 缓存 监控
社交软件红包技术解密(四):微信红包系统是如何应对高并发的
本文将为读者介绍微信百亿级别红包背后的高并发设计实践,内容包括微信红包系统的技术难点、解决高并发问题通常使用的方案,以及微信红包系统的所采用高并发解决方案。
77 13
|
1月前
|
敏捷开发 开发框架 小程序
微信纯血鸿蒙版正式发布,295天走完微信14年技术之路!
不管外界如何评价和鞭策,这款产品本身,依然需要研发团队一个键一个键敲出来,从内核,到架构,到内测,到公测,再到一轮一轮的 debug,他们要在不到一年的时间里,走完微信14 年的路。 回顾鹅厂所做过的产品里,也许从未有过一款,被如此放在放大镜下凝视。每一次上架,每一个 bug,乃至于每一个里程碑,几乎都预定当天热搜。
87 6
微信纯血鸿蒙版正式发布,295天走完微信14年技术之路!
|
2月前
|
监控 算法 测试技术
即时通讯技术文集(第45期):微信、QQ技术精华合集(Part2) [共14篇]
为了更好地分类阅读 52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第45 期。
56 3
|
3月前
|
存储 编解码 监控
即时通讯技术文集(第44期):微信、QQ技术精华合集(Part1) [共14篇]
为了更好地分类阅读 52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第44 期。
47 2
|
3月前
|
人工智能 小程序 算法
微信小程序地图定位的核心技术与实际应用详解
在移动互联网时代,微信小程序凭借其轻量化和普及性,成为室内地图导航的理想平台。本文探讨了微信小程序在室内定位领域的创新应用,包括蓝牙iBeacon定位、高精度地图构建及AI路径规划等核心技术,及其在购物中心、医院、机场火车站和景区等场景的应用,展示了其为用户带来的高效、智能的导航体验。
171 0
|
3月前
|
存储 监控 算法
社交软件红包技术解密(三):微信摇一摇红包雨背后的技术细节
本文将由微信团队工程师张文瑞分享微信春节摇一摇红包技术背后的方方面面,希望能给同行们带来启发。
108 1
|
4月前
|
人工智能 弹性计算 搜索推荐
打造个性化的微信公众号AI小助手:从人设到工作流程
在数字化时代,一个有个性且功能强大的AI小助手能显著提升用户体验。本文档指导如何在微信公众号上设置AI小助手“小智”,涵盖其人设、功能规划及工作流程设计,旨在打造一个既智能又具吸引力的AI伙伴。
221 0
|
4月前
|
小程序 前端开发 JavaScript
微信小程序全栈开发中的PWA技术应用
【10月更文挑战第3天】微信小程序作为新兴应用形态,凭借便捷体验与社交传播能力,成为企业拓展业务的新渠道。本文探讨了微信小程序全栈开发中的PWA技术应用,包括离线访问、后台运行、桌面图标及原生体验等方面,助力开发者提升小程序性能与用户体验。PWA技术在不同平台的兼容性、性能优化及用户体验是实践中需注意的关键点。
98 5

热门文章

最新文章