微信小程序实时聊天WebSocket


Posted in Javascript onJuly 05, 2018

本文实例为大家分享了微信小程序实时聊天WebSocket的具体代码,供大家参考,具体内容如下

1.所有监听事件先在onload监听。

// pages/index/to_news/to_news.js 
var app = getApp();
var socketOpen = false;
var SocketTask = false;
var url = 'ws://192.168.0.120:7011';
Page({
 data: {
  inputValue: '',
  returnValue: '',
 },
 onLoad: function (options) {
 },
 onReady: function () {
  // 创建Socket
  SocketTask = wx.connectSocket({
   url: url,
   data: 'data',
   header: {
    'content-type': 'application/json'
   },
   method: 'post',
   success: function (res) {
    console.log('WebSocket连接创建', res)
   },
   fail: function (err) {
    wx.showToast({
     title: '网络异常!',
    })
    console.log(err)
   },
  })
  if (SocketTask) {
   SocketTask.onOpen(res => {
    console.log('监听 WebSocket 连接打开事件。', res)
   })
   SocketTask.onClose(onClose => {
    console.log('监听 WebSocket 连接关闭事件。', onClose)
   })
   SocketTask.onError(onError => {
    console.log('监听 WebSocket 错误。错误信息', onError)
   })
   SocketTask.onMessage(onMessage => {
    console.log('监听WebSocket接受到服务器的消息事件。服务器返回的消息', onMessage)
   })
  }
 },
 
 // 提交文字
 submitTo: function (e) {
  let that = this;
  that.data.allContentList.push({that.data.inputValue });
  that.setData({
   allContentList: that.data.allContentList
  })
  var data = {
   text: that.data.inputValue
  }
  if (socketOpen) {
   // 如果打开了socket就发送数据给服务器
   sendSocketMessage(data)
  }
 },
 bindKeyInput: function (e) {
  this.setData({
   inputValue: e.detail.value
  })
 },
 
 onHide: function () {
   SocketTask.close(function (close) {
    console.log('关闭 WebSocket 连接。', close)
   })
 },
})
 
//通过 WebSocket 连接发送数据,需要先 wx.connectSocket,并在 wx.onSocketOpen 回调之后才能发送。
function sendSocketMessage(data) {
 console.log('通过 WebSocket 连接发送数据')
 if (socketOpen) {
  SocketTask.send({data: JSON.stringify(data)
  }, function (res) {
   console.log('已发送', res)
  })
 } else {
  socketMsgQueue.push(msg)
 }
}

html

<input type="text" bindinput="bindKeyInput" value='{{inputValue}}' placeholder="" />
<button bindtap="submitTo" class='user_input_text'>发送</button>

微信小程序实时聊天WebSocket

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript 篱式条件判断
Aug 22 Javascript
JQuery的自定义事件代码,触发,绑定简单实例
Aug 01 Javascript
jquery操作HTML5 的data-*的用法实例分享
Aug 17 Javascript
js实现点击左右按钮轮播图片效果实例
Jan 29 Javascript
基于javascript实现彩票随机数生成(升级版)
Apr 17 Javascript
angular分页指令操作
Jan 09 Javascript
JS简单获取当前日期时间的方法(如:2017-03-29 11:41:10 星期四)
Mar 29 Javascript
详解vue过滤器在v2.0版本用法
Jun 01 Javascript
JS实现的合并多个数组去重算法示例
Apr 11 Javascript
分享5个小技巧让你写出更好的 JavaScript 条件语句
Oct 20 Javascript
浅谈目前可以使用ES10的5个新特性
Jun 25 Javascript
vue根据条件不同显示不同按钮的操作
Aug 04 Javascript
vue v-model实现自定义样式多选与单选功能
Jul 05 #Javascript
基于vue展开收起动画的示例代码
Jul 05 #Javascript
微信小程序实现星级评分和展示
Jul 05 #Javascript
vue-router history模式下的微信分享小结
Jul 05 #Javascript
微信小程序实现运动步数排行功能(可删除)
Jul 05 #Javascript
微信小程序之批量上传并压缩图片的实例代码
Jul 05 #Javascript
JavaScript控制浏览器全屏显示简单示例
Jul 05 #Javascript
You might like
PHP两种去掉数组重复值的方法比较
2014/06/19 PHP
PHP实现下载断点续传的方法
2014/11/12 PHP
php编程中echo用逗号和用点号连接的区别
2016/03/26 PHP
php实现的简单数据库操作Model类
2016/11/16 PHP
YII框架关联查询操作示例
2019/04/29 PHP
PHP执行系统命令函数实例讲解
2021/03/03 PHP
jQuery zclip插件实现跨浏览器复制功能
2015/11/02 Javascript
分步解析JavaScript实现tab选项卡自动切换功能
2016/01/25 Javascript
AngularJS解决ng界面长表达式(ui-set)的方法分析
2016/11/07 Javascript
vue自定义指令之面板拖拽的实现
2019/04/14 Javascript
node.js基础知识汇总
2020/08/25 Javascript
JSON 入门教程基础篇 json入门学习笔记
2020/09/22 Javascript
python调用shell的方法
2013/11/20 Python
Python实现二叉树前序、中序、后序及层次遍历示例代码
2019/05/18 Python
python中metaclass原理与用法详解
2019/06/25 Python
深入了解Python iter() 方法的用法
2019/07/11 Python
python 并发编程 非阻塞IO模型原理解析
2019/08/20 Python
pytorch 实现在预训练模型的 input上增减通道
2020/01/06 Python
对Matlab中共轭、转置和共轭装置的区别说明
2020/05/11 Python
Tensorflow加载Vgg预训练模型操作
2020/05/26 Python
python 实现两个npy档案合并
2020/07/01 Python
详解python中的lambda与sorted函数
2020/09/04 Python
SpringBoot首页设置解析(推荐)
2021/02/11 Python
学生学习总结的自我评价
2013/10/22 职场文书
信息管理员岗位职责
2013/12/01 职场文书
升学宴主持词
2014/04/02 职场文书
和谐家庭演讲稿
2014/05/24 职场文书
制冷与空调专业毕业生推荐信
2014/07/07 职场文书
小学教师读书活动总结
2014/07/08 职场文书
平安工地汇报材料
2014/08/19 职场文书
全国优秀教师事迹材料
2014/08/26 职场文书
领导班子对照检查材料
2014/09/22 职场文书
幼儿园园长个人总结
2015/03/02 职场文书
行政司机岗位职责
2015/04/10 职场文书
2015年财务个人工作总结范文
2015/05/22 职场文书
2016党员三严三实心得体会
2016/01/15 职场文书