我们先贴一个基本的设计稿:
图片.png
小程序直接封装了使用方法,让我们使用起来更加简单方便:
1. 创建链接
//关联
wx.({
url:.wsurl(开发者服务器接口地址必须是wss协议,域名必须是后台配置的合法域名)
});
2.wx.()(监听连接打开事件。)
注:链接服务后测试链接状态
wx.((res) {
.log('连接已打开!')
})
3.wx.()(监听错误。)
注:如果你在这个方法中追求业务严谨性,加一个肯定是好的。 呵呵~~~
wx.((res){
.log('连接打开失败,请检查!')
})
wx.()
通过连接发送数据需要在回调之前和之后完成。
我这里简单记录一下发送数据。 “(要发送的内容)”;
微信官方文档从头到尾写了一个详细的例子,有for循环,如下:
变量=假
变量 = []
wx.({
网址:'test.php'
})
wx.((res) {
= 真
for (var i = 0; i < .; i++){
([我])
=[]
})
(消息){
如果 () {
//这是消息发送的地方。 只有按照这个方法才能收到消息。
wx.({
数据:消息
})
} 别的 {
.push(消息)
微信官方文档其实还是蛮给力的。 我想竖起大拇指。
但后来用的不太习惯,因为需要用到的地方太多了,所以直接扔到了app.js(官方定制的js)中
//排名,与好友对战
:({
//关联
wx.({
网址:.wsurl
});
},
//发信息
:(消息){
wx.({
数据:JSON。(消息)
})
},
可能我个人觉得是一个比较稳定的技术。 发消息的地方没有按照官方的方式写,然后在链接上加了一个判断。 如果链接失败,就让它继续链接。 (个人实践,不推荐大家使用);
5.wx.()(监听从服务器接收到的消息事件。)
注意:这是关键点。 只要你是做实时聊天业务,所有逻辑都必须在这个方法中跑通。 (小白踩到陷阱,百事可乐不高兴了)
wx.((res) {
.log('收到服务器内容:' + res.data)
//接收到的消息都是字符串,因为发送消息时必须先转为字符串才能发送。 这里使用的数据必须转换为对象。
//JSON.parse(res.data);
});
6.wx.()(关闭连接。)
关掉服务,这个服务还是蛮重要的。 (根据个人业务场景而定)简单说明一下
下面是官方文档的描述(初学者直接看这里,高手可以跳过):
//注意这里有一个时间问题,
//如果wx. 尚未回调 wx.,而是调用 wx. 首先,那么就达不到关闭的目的。
//Wx. 必须在打开关闭期间调用。
wx.(() {
wx.()
})
wx.((res) {
.log('关闭!')
})
事实上,当使用wx.()方法时,你的服务已经被关闭了。 不要太担心下面的wx。 该方法只是服务成功关闭时的回调。
就像你去买东西,你给了钱,你知道这个东西很快就会到你手里,但你就是想让它一直在你手里。
到这里,小程序就基本讲解完了。 我贴一个功能实现图:
这是排名
排名赛
匹配成功
回答提问
回答问题结束
朋友与朋友的对决
朋友们准备一下
好友对战状态
其实最后还有一些乱七八糟的聊天和直播互动。 发起来好像太麻烦了,就不一一发了。