车载微信助手,网页微信开发回顾

车载微信助手,网页微信开发回顾

车载微信助手设计开发,中间夹杂着一些其他的项目,前前后后也有大半年的时间了。总算出了一个比较稳定的版本。
这条路上的坑也猜的差不多了,分享一点老司机的经验。
现在讲讲设计思路,以及设计、开发过程中遇到的问题。

车载微信助手是 “语音+微信”的 设计思路。语音采用的国内某知名语音服务提供商,微信端则是hack当下比较流行的 web 微信协yi。

web微信协yi

一开始在微信网页端 F12 一点一点分析,后来发现网络上已经有很多这些资料。列一下主要的参考资料:
WEB版微信协议部分功能分析 写的非常棒,很详细,看完大概明白了网页微信的整个流程。
wxbot项目 python 写的项目,耐着性子分析一下,基本整个软件的架构车不多就可以确定了。

网页微信协议的具体内容我也不详细分析了,网上有一大堆这样的东西。
给大家分享一些实际开发中遇到的问题。毕竟协议不是自己的,完全靠猜。要是猜错了方向,就难了。

synccheek接口返回 1101,1102.
接口地址:https://webpush.wx2.qq.com/cgi-bin/mmwebwx-bin/synccheck
返回 1101, 账号失效。失效的原因有很多种,但是都是应为提交的数据过期了,可能是因为账号在别处登陆,或者手机端主动退出微信。
还有一种就是提交的参数有问题。synccheck是标准的get请求,提交的参数应是utf-8格式。其中一个参数 wxsid中随机出现”+”,当出现+的时候,如果提交的时候不转码,tengxun服务器会返回1101. 这个问题折腾了很久才解决。这是费了大功夫!

返回 1102,链路不可用。

还不知道什么时候会必先这个问题。解决办法是尝试切换链路, wxbot项目里面已经很好的解决了。 真心感谢开源。
最近联系人返回不全。

webwxinit 接口会返回初始化必要的数据,会返回一部分最近联系人,一般会在10以内,其他的最近联系人并没有返回。分析后发现,需要调用webwxstatusnotify接口,之后所有的最近联系人才回返回。
synccheek接口会返回有新消息,调用webwxsync获取最近联系人。
联系人返回不全

没有保存的群是不会返回的。新建的群一般设置都不会保存,所以需要检查一下为什么没有返回。

网页微信不能直接发送录音、定位,但是车上的环境是需要发送语音、定位,因此采用曲线救国的做法,发送文字代替录音,录音文件通过 链接 的方式发出去。

其他还有一些问题,还有一些其他的小问题,不啰嗦,都很好解决。

语音

语音部分,语音命令控制,可以有很多解决方案,中文可以采用国内的 某飞,某度,等,都可以解决,关键就得看遇到问题时的反应速度。这方面是深有体会了。
最后有个切身的感受,复杂环境下的东西一定要做简单,简单,简单。
语音部分还解决了一些,音频转码等问题。

欢迎这方面的研发人员一起交流学习,如果有问题咨询,欢迎加群: 584047662
验证信息: wechat

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值