微信小程序实时聊天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 相关文章推荐
让getElementsByName适应IE和firefox的方法
Sep 24 Javascript
jquery更换文章内容与改变字体大小代码
Sep 30 Javascript
JavaScript内存管理介绍
Mar 13 Javascript
关于JavaScript作用域你想知道的一切
Feb 04 Javascript
JavaScript代码实现左右上下自动晃动自动移动
Apr 08 Javascript
微信小程序 设置启动页面的两种方法
Mar 09 Javascript
bootstrap警告框示例代码分享
May 17 Javascript
vue.js内部自定义指令与全局自定义指令的实现详解(利用directive)
Jul 11 Javascript
微信小程序中使用Promise进行异步流程处理的实例详解
Aug 17 Javascript
jQuery实现的页面详情展开收起功能示例
Jun 11 jQuery
利用Blob进行文件上传的完整步骤
Aug 02 Javascript
JS实现求字符串中出现最多次数的字符和次数示例
Jul 05 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备份MySQL和网站发送到邮箱实例代码
2013/11/28 PHP
php中filter函数验证、过滤用户输入的数据
2014/01/13 PHP
smarty高级特性之对象的使用方法
2015/12/25 PHP
PHP简单实现正则匹配省市区的方法
2018/04/13 PHP
php测试kafka项目示例
2020/02/06 PHP
JS检测图片大小的实例
2013/08/21 Javascript
javascript判断数组内是否重复的方法
2015/04/21 Javascript
jQuery自动完成插件completer附源码下载
2016/01/04 Javascript
微信小程序 页面跳转传参详解
2016/10/28 Javascript
JavaScript实现替换字符串中最后一个字符的方法
2017/03/07 Javascript
EL表达式截取字符串的函数说明
2017/09/22 Javascript
教你用Cordova打包Vue项目的方法
2017/10/17 Javascript
Node.js进阶之核心模块https入门
2018/05/23 Javascript
vue中关闭eslint的方法分析
2018/08/04 Javascript
关于微信小程序bug记录与解决方法
2018/08/15 Javascript
js字符串处理之绝妙的代码
2019/04/05 Javascript
js实现图片上传到服务器和回显
2020/01/19 Javascript
详解Python中expandtabs()方法的使用
2015/05/18 Python
解决出现Incorrect integer value: '' for column 'id' at row 1的问题
2017/10/29 Python
Python人脸识别初探
2017/12/21 Python
Python实现迭代时使用索引的方法示例
2018/06/05 Python
python对列进行平移变换的方法(shift)
2019/01/10 Python
python 图片去噪的方法示例
2019/07/09 Python
详解Django模版中加载静态文件配置方法
2019/07/21 Python
Django 后台带有字典的列表数据与页面js交互实例
2020/04/03 Python
de Bijenkorf比利时官网:荷兰最知名的百货商店
2017/06/29 全球购物
e路東瀛(JAPANiCAN)香港:日本旅游、日本酒店和温泉旅馆预订
2018/11/21 全球购物
关于赌博的检讨书
2014/01/24 职场文书
计算机实训报告范文
2014/11/05 职场文书
店面出租协议书范本
2014/11/28 职场文书
写给父母的感谢信
2015/01/22 职场文书
商务考察邀请函模板
2015/02/02 职场文书
2015年求职自荐信范文
2015/03/04 职场文书
2015年护理工作总结范文
2015/04/03 职场文书
2015年教师节主持词
2015/07/03 职场文书
pandas取dataframe特定行列的实现方法
2021/05/24 Python