文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

简单的小程序聊天对话窗口界面

2023-08-21 10:06

关注

一个简单的微信小程序聊天对话窗口界面,包括发送文本功能

在这里插入图片描述

直接上代码,js代码:

// 简单版Page({    data: {        content: '',        // 当前登录者信息        login: {            id: '2023',            user: '大猪蹄子',            avatar: 'https://img2.baidu.com/it/u=1581320883,910100018&fm=253&app=53&size=w500&n=0&g=0n&f=jpeg?sec=1686045994&t=9135844131fa04a7ad00686d88c76752'        },        // 聊天信息        chatList: [{                msgId: '2023',                nickname: '大猪蹄子',                avatar: 'https://img2.baidu.com/it/u=1581320883,910100018&fm=253&app=53&size=w500&n=0&g=0n&f=jpeg?sec=1686045994&t=9135844131fa04a7ad00686d88c76752',                message: '一个简单的聊天对话窗口界面',                type: 'text',                date: '05-02 14:24' // 每隔5分钟记录一次时间            },            {                msgId: '2022',                nickname: '泡椒风爪',                avatar: 'https://img0.baidu.com/it/u=3997048646,1811313428&fm=253&app=53&size=w500&n=0&g=0n&f=jpeg?sec=1686045994&t=0e1a0c5e962337e74750fba219bb3b51',                message: '更多发送表情、视频以及图片功能,由于不好打包文件夹,请前往下方底部链接,下载完整版压缩包.',                type: 'text'            },            {                msgId: '2022',                nickname: '泡椒风爪',                avatar: 'https://img0.baidu.com/it/u=3997048646,1811313428&fm=253&app=53&size=w500&n=0&g=0n&f=jpeg?sec=1686045994&t=0e1a0c5e962337e74750fba219bb3b51',                message: '该消息为撤回消息',                type: 'custom'            },            {                msgId: '2023',                nickname: '大猪蹄子',                avatar: 'https://img2.baidu.com/it/u=1581320883,910100018&fm=253&app=53&size=w500&n=0&g=0n&f=jpeg?sec=1686045994&t=9135844131fa04a7ad00686d88c76752',                message: '嘞 对头,解压文件夹后,可直接使用完整版',                type: 'text'            },            {                msgId: '2022',                nickname: '泡椒风爪',                avatar: 'https://img0.baidu.com/it/u=3997048646,1811313428&fm=253&app=53&size=w500&n=0&g=0n&f=jpeg?sec=1686045994&t=0e1a0c5e962337e74750fba219bb3b51',                message: '若出现iOS不兼容现象,请自行调整哦',                type: 'text',                date: '05-04 16:05'            },            {                msgId: '2022',                nickname: '泡椒风爪',                avatar: 'https://img0.baidu.com/it/u=3997048646,1811313428&fm=253&app=53&size=w500&n=0&g=0n&f=jpeg?sec=1686045994&t=0e1a0c5e962337e74750fba219bb3b51',                message: '没有用苹果手机测试啦',                type: 'text'            },            {                msgId: '2022',                nickname: '泡椒风爪',                avatar: 'https://img0.baidu.com/it/u=3997048646,1811313428&fm=253&app=53&size=w500&n=0&g=0n&f=jpeg?sec=1686045994&t=0e1a0c5e962337e74750fba219bb3b51',                message: '该消息为撤回消息',                type: 'custom'            },            {                msgId: '2023',                nickname: '大猪蹄子',                avatar: 'https://img2.baidu.com/it/u=1581320883,910100018&fm=253&app=53&size=w500&n=0&g=0n&f=jpeg?sec=1686045994&t=9135844131fa04a7ad00686d88c76752',                message: '请前往下方链接,使用完整版',                type: 'text'            },            {                msgId: '2023',                nickname: '大猪蹄子',                avatar: 'https://img2.baidu.com/it/u=1581320883,910100018&fm=253&app=53&size=w500&n=0&g=0n&f=jpeg?sec=1686045994&t=9135844131fa04a7ad00686d88c76752',                message: '谢谢各位亲的点赞关注和收藏',                type: 'text'            },            {                msgId: '2022',                nickname: '泡椒风爪',                avatar: 'https://img0.baidu.com/it/u=3997048646,1811313428&fm=253&app=53&size=w500&n=0&g=0n&f=jpeg?sec=1686045994&t=0e1a0c5e962337e74750fba219bb3b51',                message: '哈哈哈',                type: 'text',                date: '05-06 11:21'            },            {                msgId: '2022',                nickname: '泡椒风爪',                avatar: 'https://img0.baidu.com/it/u=3997048646,1811313428&fm=253&app=53&size=w500&n=0&g=0n&f=jpeg?sec=1686045994&t=0e1a0c5e962337e74750fba219bb3b51',                message: '已滑动至最底部',                type: 'text',                date: '05-07 19:08'            },        ],    },    onLoad() {        this.scrollToBottom();    },    // 输入监听    inputClick(e) {        this.setData({            content: e.detail.value        })    },    // 发送监听    sendClick() {        var that = this;        var list = this.data.chatList;        // 获取当前时间        var date = new Date();        var month = date.getMonth() + 1;        var day = date.getDate();        var hour = date.getHours();        var minu = date.getMinutes();        var now1 = month < 10 ? '0' + month : month;        var now2 = day < 10 ? '0' + day : day;        // 组装数据        var msg = {            msgId: this.data.login.id,            nickname: this.data.login.user,            avatar: this.data.login.avatar,            message: this.data.content,            type: 'text',            date: now1 + '-' + now2 + ' ' + hour + ':' + minu        }        this.setData({            chatList: list.concat(msg)        }, () => {            that.scrollToBottom();            that.setData({                content: ''            })        })    },    // 滑动到最底部    scrollToBottom() {        setTimeout(() => {            wx.pageScrollTo({                scrollTop: 200000,                duration: 3            });        }, 600)    },})

wxml代码:

<view class="scroll-list">    <block wx:for="{{chatList}}" wx:for-index="index" wx:for-item="item" wx:key="item">        <view wx:if="{{item.date}}" class="show-date">{{item.date}}view>        <view wx:if="{{item.type=='custom'}}" class="row tips-text">            <text>{{login.id==item.msgId?'你':item.nickname}}撤回了一条消息text>        view>        <view class="{{login.id==item.msgId?'row row-self':'row'}}" wx:else>            <view class="{{login.id==item.msgId?'head-self':'head-friend'}}">                <image class="avatar" src="{{item.avatar}}">image>            view>            <view>                <view wx:if="{{login.id!=item.msgId}}" class="nick">{{item.nickname}}view>                <view class="{{login.id==item.msgId?'message msg-self':'message msg-friend'}}">                    <text>{{item.message}}text>                view>            view>        view>    block>view><view class="footer">    <view class="row">        <view class="input-box">            <textarea class="text-area" placeholder-class="placeholder" show-confirm-bar="{{false}}" cursor-spacing="30" maxlength="500"            disable-default-padding="{{true}}"            confirm-hold="{{true}}" hold-keyboard="{{true}}" auto-height="false" placeholder="输入信息" bindinput="inputClick" value="{{content}}">textarea>        view>        <view class="send-btn" wx:if="{{content!=''}}">            <text class="send-text" bindtap="sendClick">发 送text>        view>    view>view>

wxss代码:

page {    background-color: #f1f1f1;}.scroll-list {    padding-bottom: 120rpx;}.show-date {    text-align: center;    font-size: 24rpx;    padding: 15rpx 0;    color: gray;}.row {    display: flex;    flex-direction: row;    padding: 20rpx;}.tips-text {    text-align: center;    justify-content: center;    font-size: 28rpx;    color: gray;}.row-self {    flex-direction: row-reverse;}.head-self {    margin-left: 20rpx;}.head-friend {    margin-right: 20rpx;}.avatar {    width: 100rpx;    height: 100rpx;    border-radius: 20rpx;    overflow: hidden;}.nick {    color: gray;    font-size: 24rpx;    margin-bottom: 15rpx;}.message {    background-color: white;    font-size: 30rpx;    padding: 20rpx;    display: flex;    align-items: center;    line-height: 45rpx;}.msg-self {    border-top-left-radius: 30rpx;    border-bottom-right-radius: 30rpx;    color: #434343;    background-image: linear-gradient(to right, #33ccff, #B0E2FF);}.msg-friend {    border-top-right-radius: 30rpx;    border-bottom-left-radius: 30rpx;    color: #ffffff;    background-image: linear-gradient(to right, #ff9933, #ff6633);}.footer {    position: fixed;    bottom: 0;    left: 0;    right: 0;    z-index: 9;    background-color: white;    border-top: 1rpx solid #f1f1f1;}.input-box {    flex: 5;    border: 1rpx solid #f1f1f1;    border-radius: 10rpx;}.send-btn {    flex: 1;    text-align: center;    margin-left: 10rpx;    color: white;    margin-top: 10rpx;}.send-text {    background-color: #FF6347;    font-size: 30rpx;    border-radius: 10rpx;    padding: 12rpx 20rpx;}.text-area {    max-height: 180rpx;    width: 98%;    padding: 15rpx 10rpx;    font-size: 30rpx;}.placeholder {    font-size: 30rpx;}::-webkit-scrollbar {    display: none;    width: 0;    height: 0;    color: transparent;}

json代码:

{  "usingComponents": {},  "navigationBarTitleText": "聊天对话窗",  "navigationBarBackgroundColor": "#FF6347"}

更多功能的微信小程序聊天界面(包括发送表情、视频、图片),请点击链接:
https://download.csdn.net/download/weixin_45465881/87762409

来源地址:https://blog.csdn.net/weixin_45465881/article/details/130549952

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯