小程序即时聊天(仅页面功能,未接websocket)

我们都知道小程序是不能直接操作dom的,所以做即时通讯聊天功能的时候也就不能像之前做的一样:点击发送的时候,拼接一个节点到页面上。话不多说,以下是效果和代码:

-----------------------chat.js------------------------------

// pages/chat/chat.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    lists: [

    ],
    scrollTop: 100,//设置滚动条到顶部的距离
    centence:‘‘,
    length:0,
  },

  //点击发送以后的事件处理函数
  addItemFn: function () {
    var {lists} = this.data;
    var newData = { value: this.data.centence };
    lists.push(newData);
    this.setData({
      lists: lists,
      centence:‘‘
    })
    console.log(lists)
  },
  inputFunc:function(e){
    this.setData({
      centence: e.detail.value
    })
    // console.log(this.data.centence)
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})

  ------------------------chat.wxml-------------------------------

<view class="container">
  <!-- <button type="primary" >添加</button> -->

  <scroll-view class="scroll" scroll-y="true" scroll-top="{{scrollTop}}">
    <block wx:for="{{lists}}" wx:key="*this">
      <view class="item" data-index="{{index}}" id="item{{index}}" class="myMsg flexBox">
        <view class="msg"><view class="eachMsg">{{item.value}}</view><text class="iconfont icon-triangle-right"></text></view>
        <image src=‘/assets/images/chatdoc.png‘></image>
      </view>
    </block>
  </scroll-view>
  <view class="bottom">
    <input placeholder="" auto-focus name="centences" bindinput=‘inputFunc‘ value="{{centence}}" auto-focus/>
    <view class=‘icon‘ bindtap=‘addItemFn‘>
      <text>发送</text>
    </view>
  </view>
</view>

  

望互相指教。。。。

原文地址:https://www.cnblogs.com/crystal-wei/p/9168241.html

时间: 2024-10-11 22:49:46

小程序即时聊天(仅页面功能,未接websocket)的相关文章

小程序版聊天室|聊天小程序|仿微信聊天界面小程序

仿微信聊天小程序weChatRoom案例,一款基于微信小程序开发的聊天室实战项目.很早之前就有开发过一个h5版聊天室,最近又在原先思路的基础上开发了个小程序版聊天室,功能效果非常接近微信聊天,实现了消息.表情发送,小程序表情解析,图片.视频上传预览,打赏.红包等微交互场景.整体界面风格及效果挺不错哒. ◆ 先睹为快 ◆ 项目中用到的弹窗插件,是自己开发的小程序弹窗组件wcPop: <!-- <>引入弹窗模板.Start --><import src="/utils/

微信小程序开发—你期待的分享功能来了,微信小程序序新增5大功能

微信小程序在12月21日发布了新版本的开发工具,并在官网公布新增分享.模板消息.客服消息.扫一扫.带参数二维码功能. 有了分享功能,相信会给很多创业者带来了无限的可能性! 下面就来看看这些新功能到底怎么用吧! 1.分享 可以分享小程序的任何一个页面给好友或群聊.注意是分享给好友或群聊,并没有分享到朋友圈.一方面微信在尝试流量分发方式,但同时又不愿意开放最大的流量入口. 开发文档:https://mp.weixin.qq.com/debug/wxadoc/dev/api/share.html?t=

小程序分销系统有什么功能

今天,为大家分享一下,小程序分销系统有什么功能.各种系统开发,正品邹经理188-19172*596可微可电 一.为什么要做小程序分销软件 大多数卖货的方式都会选择分销,之所以选择分销,是因为可以实现产品直接从生产商向消费者的转移.随着电子商务发展的趋势,手机用户不断增加,移动电商越来越受到的重视,没有一套管理平台就很容易出现问题,团队的增多也会带来很多麻烦,从而小程序平台就运应而生. 小程序分销软件营销模式借助互联网的延伸性及便利性,开启各小程序爆炸式裂变分销模式,使商务过程不再受时间.空间和人

记录使用微信小程序的NFC和蓝牙功能读取15693芯片的开发历程

开发目标: (1) 对于Android手机,直接通过微信小程序调用手机的NFC功能,对15693协议的芯片进行读写操作: (2)对于苹果手机(及没有NFC模块的手机),通过微信小程序的蓝牙功能连接到蓝牙/NFC读写器,然后通过蓝牙发送指令操作读写器对15693协议的芯片进行读写操作. DAY #1 上午开了半天会,下午开始开发. 先开发简单的:直接通过Android手机的NFC模块读写芯片.开发思路如下: 1. 首先调用 wx.getHCEState(OBJECT), 判断设备是否支持NFC,如

微信小程序之商品发布+编辑功能(多图片上传功能)

小程序的商品发布页面:功能有多图片上传 遇到的问题记录一下: 1.uploadFile成功之后返回的参数是json字符串,一定要用JSON.parse转换为object格式 2.因为商品发布和编辑都是在同一个页面,因为异步的问题,在编辑页获取商品类别经常失败,所以这里在获取类别成功之后再获取商品详情 3.判断两位小数正则:/^\d+(.\d{1,2})?$/ 4.使用picker一些注意的地方: <picker name="category" mode="selecto

小程序-web-view嵌入H5页面遇到的bug

遇到的问题1:ios页面中,内容过多时有下滑真是功能,但是下滑的时候回看到底部的微信自带的灰色背景及H5的域名(ios的webview中上/下拉露出黑灰色背景问题) 解决办法:给body添加样式----body:{position:fixed;top:0;left:0;width:100%;}    //亲测有效 遇到的问题2:在ios中若是存在多个H5页面跳转,页面会出现这种情况,黄色圈起的部分优势小程序全套的H5页面,此时进行了2个页面的跳转,但是在第二个H5页面,手指触屏左到有拖动时,会同

如何使用微信小程序开发一个弹窗页面(附源码)

在小程序的开发过程中,我们肯定会遇到开发一个弹窗页面的情况,我们先看一下小程序官方对于弹窗页面的解释.API的接口如下 从官方给出的代码示例来看,想当简单,就像一个asert,并不能看出弹窗的真实需求.所以今天HTML51.COM就写了一个弹窗小程序教程,供大家学习参考.首页我们先看一下动态的效果图: 我们首先看到的是首页代码: <view class="copyright"> <view class="copyright_item">Cop

微信小程序学习Course 7 定时器功能

微信小程序学习Course 7 定时器功能 微信小程序中有一个定时器API函数,其提供了四个API接口 7.1.number setTimeout(function callback, number delay, any rest) 设定一个定时器,在定时到期以后执行注册的回调函数,值得注意的是本函数只执行一次!!!! setTimeout(this.DaoJiShi, 1000);//时间到达一秒执行一次DaoJiShi函数 如果我们想实现一个不停调用的函数,怎末实现呢?以下函数利用递归实现了

基于Node.js+MySQL开发的开源微信小程序B2C商城(页面高仿网易严选)

高仿网易严选的微信小程序商城(微信小程序客户端) 界面高仿网易严选商城(主要是2016年wap版) 测试数据采集自网易严选商城 功能和数据库参考ecshop 服务端api基于Node.js+ThinkJS+MySQL 计划添加基于Vue.js的后台管理系统.PC版.Wap版 GitHub: https://github.com/tumobi/nideshop-mini-program 项目截图 首页 专题 分类 商品列表 商品详情 购物车 订单中心 功能列表 首页 分类首页.分类商品.新品首发.