微信平台开放后倒是挺火的,许多第三方应用都想试下接入微信这个平台,毕竟可以利用微信建立起来的关系链来拓展自己的应用还是挺不错的,可以节约很多在社交方面的开销,我最近由于实习需要也在研究这个东西,不过发现网上的相关资料还是挺少的,这里把我的整个研究情况给出来,希望可以共同学习。
一、微信sdk中会用到主要类的类图
上面这张类图中显示的是与微信通信过程中的请求类和响应类,第三方应用通过他们
附带的message字段来携带消息传输给微信进程。其中baseresp有个内部类是errcode,
它里面定义了几个常量字段,当我们向微信发送请求后它会作为返回字段
返回到我们的应用中来,我们可以根据这个做相应的处理,在后面的时序图中将会提
到。接下来就是sdk中的message对象了。
上面这个类图主要是消息对象,里面有一个字段来引用媒体对象,这些媒体对象就
是我们所能传给微信的对象。有了消息对象和媒体对象,接下来要给出的就是将消
息对象送出去的通信类了。
上面的iwxapi就是所说的通信类,所有与微信进行通信的工作都是他在做,而他的
生成是由下面的工厂类来完成。旁边的iwxapieventhandler接口是需要第三方应用
来实现的,如果我们想处理微信的请求信息或是我们向他发请求后他返回的标识字段。
二、第三方应用与微信通信的时序图
1、向微信发送消息
应用只需要进行一次注册就行了,然后在以后的使用中只需要封装消息,让通信类
发送即可。从前面的类图中可以看到,封装消息的顺序是首先生成需要发送的媒体
对象,然后将媒体对象附加到消息对象中,接着建立请求对象,最后使用通信类发
送即可。代码如下所示:
下面给出几张效果图:
程序进入后
注册后载点击发送,微信给出好友列表
选择一个好友,出现附加的消息编辑界面,可不填任何东西
点击share,可返回第三方应用,同时在好友微信中会收到所发消息
这里补充一点就是图中的框框就是微信自己定义的消息对象显示外表,非第三方应用定义,与上一张图对比即可知道。
暂时这个就说到这,好像这个博客一篇扛不住那么多东西啊,剩下的在后面的文章中给出,谢谢。
因为我自己写的demo都在实习结束后丢失了,所以给一个官方的demo下载,如果有不清楚的可以交流,谢谢合作,希望共同学习。