微信小程序ui聊天窗口(微信小程序实现简单聊天室)
类别:编程学习 浏览量:1383
时间:2021-10-09 00:09:50 微信小程序ui聊天窗口
微信小程序实现简单聊天室本文实例为大家分享了微信小程序实现简单聊天室的具体代码,供大家参考,具体内容如下
cha.js
// pages/chat/chat.js // 获取小程序实例 let app = getApp(); Page({ /** * 页面的初始数据 */ data: { nickname:'', avatar:'', chatlists:[ { nickname:'小林', avatar:'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1591617971938&di=30d9f3b49a0d1b27fb4b61ea424f82c9&imgtype=0&src=http%3A%2F%2Fa-ssl.duitang.com%2Fuploads%2Fitem%2F201610%2F07%2F20161007135058_nUxji.jpeg', content:`你好呀!` } ], invalue:'' }, sendMsg:function(){ let _this = this; let obj = { nickname:_this.data.nickname, avatar:_this.data.avatar, content:_this.data.invalue }; let arr = _this.data.chatlists; arr.push(obj) _this.setData({ chatlists:arr, invalue:'' }); // 把聊天内容发送到服务器,处理完成后返回,再把返回的数据放到chatlist里面 }, getInput:function(e){ console.log(e.detail.value); this.setData({invalue:e.detail.value}); }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { console.log(app.globalData.userInfo.nickName); this.setData({ nickname:app.globalData.userInfo.nickName, avatar:app.globalData.userInfo.avatarUrl }); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })
chat.wxml
<block wx:for="{{chatlists}}" wx:for-index="ind" wx:for-item="chat" wx:key="ind"> <view class="chat self" wx:if="{{nickname == chat.nickname}}"> <view class="right"> <view class="content"> {{chat.content}} </view> </view> <view class="left"> <image class="avatar" src="{{chat.avatar}}"></image> </view> </view> <view class="chat" wx:else> <view class="left"> <image class="avatar" src="{{chat.avatar}}"></image> </view> <view class="right"> <view class="nickname">{{chat.nickname}}</view> <view class="content"> {{chat.content}} </view> </view> </view> </block> <view class="form"> <view class="weui-cell weui-cell_input"> <input class="weui-input" value="{{invalue}}" bindinput="getInput" placeholder="请输入聊天内容" /> </view> <button type="primary" bindtap="sendMsg">发送</button> </view>
chat.css
/* pages/chat/chat.wxss */ .avatar{ width: 130rpx; height: 130rpx; border-radius: 50%; } .chat{ display: flex; align-items: center; margin-top: 15px; } .self{ justify-content: flex-end; margin-top: 15px; } .left{ padding: 20rpx; align-self: flex-start; } .self .left{ padding-top: 0; } .right{ margin-left: 10px; } .right .content{ background-color: #eee; color: #123; font-size: 16px; /* border:1px solid #ddd; */ padding: 10px; line-height: 26px; margin-right: 10px; border-radius: 3px; position: relative; min-height: 20px; } .right .content::before{ content: ' '; display: block; width: 0; height: 0; border: 12px solid transparent; border-right-color:#eee; position: absolute; top: 10px; left: -23px; } .self .right .content::before{ border: 0; } .self .right .content::after{ content: ' '; display: block; width: 0; height: 0; border: 12px solid transparent; border-left-color:#1ad409; position: absolute; top: 10px; right: -23px; } .self .right .content{ background-color: #1ad409; } .form{ position: fixed; bottom: 0; background-color: #eee; width: 750rpx; display: flex; height: 39px; align-items: center; } .form input{ width: 600rpx; background-color: #fff; height: 36px; line-height: 36px; padding: 0 5px; } button{ width:65rpx; height:36px; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
您可能感兴趣
- 微信小程序ui聊天窗口(微信小程序实现简单聊天室)
- 微信小程序canvas 动画(微信小程序使用canvas绘制钟表)
- 微信小程序静态页面详情(微信小程序基础教程之echart的使用)
- 微信小程序开发模式(微信小程序引入Vant框架的全过程记录)
- pythondjango后台管理(基于腾讯云服务器部署微信小程序后台服务Python+Django)
- 微信小程序即时聊天功能怎么实现(微信小程序实现聊天室功能)
- 微信小程序签名怎么操作(微信小程序实现简单手写签名组件的方法实例)
- 微信小程序图片加特效(微信小程序实现可实时改变转速的css3旋转动画实例代码)
- 微信小程序canvas缩放(微信小程序之html5 canvas绘图并保存到系统相册)
- 微信小程序计算器怎么用(用微信小程序实现计算器功能)
- 微信小程序多人编辑表格(微信小程序实现固定表头、列表格组件)
- 微信小程序通知验证签名方法(微信小程序实现电子签名)
- 微信小程序映射设置(微信小程序虚拟列表的实现示例)
- 微信小程序企业微信打卡(使用Python实现企业微信的自动打卡功能)
- 微信小程序js 抽奖概率(小程序实现筛子抽奖)
- 微信小程序实现自动定位(微信小程序实现锚点定位功能的方法实例)
- 保温好 容量大 颜值高 保温杯你给娃娃买对了吗(保温好容量大颜值高)
- 《道德经》 人生避开骄狂,才能免去祸患(道德经人生避开骄狂)
- 郭麒麟(郭麒麟)
- 古人十句 戒骄 名言,醍醐灌顶,受益匪浅(古人十句戒骄名言)
- 《道德经》:功成不局,泰而不骄(道德经:功成不局)
- 每日一典 过江之鲫(每日一典过江之鲫)
热门推荐
- vs中debug和release的区别
- mysql xml转换json(Mysql将查询结果集转换为JSON数据的实例代码)
- laravel自定义使用方法(Laravel使用Queue队列的技巧汇总)
- SQL SERVER ErrorLog文件
- vue将弹框抽离成组件(vue3 可拖动的左右面板分割组件实现)
- 如何获取html5表单中的元素的值(html5 datalist 选中option选项后的触发事件)
- dedecmsv6如何安装(dedecms 下载地址加迅雷专用链的操作方法 比较全)
- react常用设计模式(提高React界面性能的十个技巧)
- python接口管理系统(基于Python实现用户管理系统)
- 学会php的路线图(PHP进阶学习之Geo的地图定位算法详解)