uniapp+vue仿微信App界面|uni-app仿微信聊天/朋友圈

基于uni-app技术开发的仿微信界面聊天室uniapp-chatroom实例项目|uniapp仿微信朋友圈,实现了发送图文消息、表情(gif动图),图片预览、地图位置、长按菜单、红包/钱包、仿微信朋友圈等功能。

在H5 / 小程序 / App端测试效果如下,实测多端效果均为一致。(后续大图均展示App端)

技术实现

  • 编辑器:HBuilder X
  • 技术框架:uni-app + vue
  • 状态管理:Vuex
  • iconfont图标:阿里字体图标库
  • 自定义导航栏 + 底部Tabbar
  • 弹窗组件:uniPop(基于uni-app封装模态弹窗)
  • 测试环境:H5端 + 小程序 + App端(三端均兼容)
  • 高德地图:vue-amap

uniapp自定义顶部导航栏headerBar

顶部导航栏采用的是自定义模式,具体可参看这篇文章:uni-app自定义导航栏按钮|uniapp仿微信顶部导航条

在pages.json里面配置globalStyle,将navigationStyle设为custom时,原生顶部导航栏不显示,这时就能自定义导航栏

uniapp自定义模态弹窗组件

项目中用到的各种弹窗组件是基于uni-app实现的自定义Modal对话框|alert弹窗|Toast弱提示

具体参看:uni-app自定义Modal弹窗组件|仿ios、微信弹窗效果

在main.js里面引入全局uniPop弹窗组件,通过this.$refs.uniPop.show({...})调用即可

import uniPop from './components/uniPop/uniPop.vue'
Vue.component('uni-pop', uniPop)
<template>	<view class="uni__container flexbox flex_col bg_fbfbfb">...<!-- 引入弹窗模板 --><uni-pop ref="uniPop"></uni-pop></view>
</template>
this.$refs.uniPop.show({content: '手机号不能为空', time: 2})

引入公共样式及组件main.js

项目中用到的字体图标:阿里巴巴iconfont图标库,将下载的文件放到assets目录下,然后引入iconfont.css即可。

  

import Vue from 'vue'
import App from './App'// >>>引入css
import './assets/fonts/iconfont.css'
import './assets/css/reset.css'
import './assets/css/layout.css'// >>>引入状态管理
import store from './store'
Vue.prototype.$store = store// >>>引入公共组件
import headerBar from './components/header/header.vue'
import tabBar from './components/tabbar/tabbar.vue'
import popupWindow from './components/popupWindow.vue'
Vue.component('header-bar', headerBar)
Vue.component('tab-bar', tabBar)
Vue.component('popup-window', popupWindow)// >>>引入uniPop弹窗组件
import uniPop from './components/uniPop/uniPop.vue'
Vue.component('uni-pop', uniPop)Vue.config.productionTip = false
App.mpType = 'app'const app = new Vue({...App
})
app.$mount()

仿微信朋友圈透明导航栏

通过onPageScroll函数实现自定义导航上下滑动自动调整导航栏的透明度,滑动到距离顶部200 效果如下图二

  

/*** @tpl 朋友圈模板*/<template><view class="flexbox flex_col"><header-bar :isBack="true" title="朋友圈" :bgColor="{background: headerBarBackground}" transparent><text slot="back" class="uni_btnIco iconfont icon-arrL"></text><text slot="iconfont" class="uni_btnIco iconfont icon-publish mr_5" @tap="handlePublish"></text></header-bar><view class="uni__scrollview flex1"><view class="uni-friendZone">...</view></view></view>
</template><script>export default {data() {return {headerBarBackground: 'transparent'}},onPageScroll : function(e) {// console.log("滚动距离为:" + e.scrollTop);this.headerBarBackground = 'rgba(65,168,99,'+e.scrollTop / 200+')'},methods: {...}}
</script><style scoped></style>

uniapp实现聊天页面滚动至底部

在uni-app里面怎么将聊天信息滚动至底部呢?设置scroll-view属性scroll-into-view的值只能第一次滚动底部,并不能动态设置。

只能通过改变scroll-top的值来动态实现

<scroll-view id="scrollview" scroll-y="true" :scroll-top="scrollTop" style="height: 100%;"><view class="uni-chatMsgCnt" id="msglistview"><view class="msgitem">xxx</view><view class="msgitem">xxx</view><view class="msgitem">xxx</view>...</view>
</scroll-view>
export default {data() {return {scrollTop: 0,...}},mounted() {this.scrollToBottom()},updated() {this.scrollToBottom()},methods: {// 滚动至聊天底部scrollToBottom(t) {let that = thislet query = uni.createSelectorQuery()query.select('#scrollview').boundingClientRect()query.select('#msglistview').boundingClientRect()query.exec((res) => {// console.log(res)if(res[1].height > res[0].height){that.scrollTop = res[1].height - res[0].height}})},...}
}

到这里 基于uniapp开发仿微信聊天室就分享完了,希望大家能喜欢??~~

◆ 最后附上基于uni-app开发的自定义底部TabBar及模态弹窗组件

uniapp自定义Tabbar:https://blog.csdn.net/yanxinyun1990/article/details/101219095

uniapp自定义Modal:https://blog.csdn.net/yanxinyun1990/article/details/101594213

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/36505.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CVHub 精选文章年中汇总

本文首发于微信公众号 CVHub&#xff0c;未经授权不得以任何形式售卖或私自转载到其它平台&#xff0c;仅供学习&#xff0c;违者必究&#xff01; 导读 欢迎来到CVHub技术文章年中总结专区&#xff01;本篇文章将为您呈现CVHub平台上的一系列优质技术文章&#xff0c;这些文章…

IDEA+AI算法岗上岸经验分享帖

大厂开启“抢人”大战 自去年11月底ChatGPT亮相后&#xff0c;国内大厂就都坐不住了。据不完全统计&#xff0c;已经数十家公司官宣布局ChatGPT领域。 由此掀起了一场AI大模型的“军备竞赛”&#xff0c;业界对顶级AI研发人才的需求也就此引爆。 目前&#xff0c;大厂在AI人才招…

AI,16薪仿佛成了“标配”!

大厂开启“抢人”大战 自去年11月底ChatGPT亮相后&#xff0c;国内大厂就都坐不住了。据不完全统计&#xff0c;已经有百度、阿里、京东、腾讯、360、快手等数十家公司官宣布局ChatGPT领域。 由此掀起了一场AI大模型的“军备竞赛”&#xff0c;业界对顶级AI研发人才的需求也就此…

离谱!入职BYD一个月,心态崩了。。。

Hello&#xff0c;大家好。我是猿哥&#xff01;这是一位入职 BYD 读者的心得分享。写的巨真实&#xff0c;他本来是前端开发&#xff0c;结果被调到硬件岗位&#xff0c;整个过程一言难尽。 下文中的“我”代表这位学弟本人。 整理编辑&#xff1a;拓跋阿秀 https://www.nowco…

周赛补题【2022年湘潭大学暑假集训选拔赛2022.7.2】

Problem A. 卡尔的礼物 思路&#xff1a;两个相邻的数一定是互质。也就是说两个相邻的数只有1一个公因数。那么这个题目就迎刃而解了&#xff0c;要求min(c,d)>max(a,b)&#xff0c;我们可以用比max(a,b)分别大1,2的两个数&#xff0c;再乘gcd(a,c)&#xff0c;这样我们就能…

大学生学习高数的情况和解决方案调研

大学生学习高数的情况和解决方案调研 1. 一轮调研相关情况 在一轮调研过程中&#xff0c;我们一共收集了124份线上问卷&#xff0c;其中调研群体均为大一新生&#xff08;包括文科生和理科生&#xff09;。可以从调研数据当中看出&#xff0c;大部分的学生在高中转向大学这个…

【高项】下午考题之案例与论文题考点概览与学习路线

文章目录 1、2022年2份真题考点2、下午题-案例题技巧2.1 试卷结构概述2.2 计算题2.3 改错题与理论题2.4 学习建议和技巧 3、下午题-论文题3.1 论文答题要求3.2 论文技巧和模板3.3 论文学习方法 1、2022年2份真题考点 2022年11月 试题一 【问题1】沟通管理 【问题2】沟通管理各…

2017年高教社杯全国大学生数学建模竞赛题目 B题 “拍照赚钱”的任务定价

这是自己参加比赛写的论文&#xff0c;成果归我和王晨曦所有 想要论文的请关注公众号&#xff1a; 在一起的足球 自动获取论文和数十种经典算法&#xff0c;帮助各位提升自己 之前留的是自己的qq号 感觉好多资源都不能让大家自行选择 本着开源的精神&#xff0c;在公众号挂了…

高数题型总结

高数题型总结 一、 函数、极限与连续&#xff08;一&#xff09;函数有界性、单调性、周期性及奇偶性的判定1. 单调性2. 奇偶性3. 周期性4. 有界性 &#xff08;二&#xff09; 复合函数&#xff08;三&#xff09; 极限的概念与性质1. 极限的概念1&#xff09; 数列极限2&…

高等数学精选题汇总(持续更新中~)

第一题-不定积分 【方法一】换元法&#xff08;常规思路&#xff09; 【方法二】 【方法三】 【方法四】 三角代换 第二题-微分方程配凑法 第三题-求微分方程的特解&#xff08;简化计算&#xff09; 【证明】 第四题-三角函数的不定积分 解法一&#xff1a;利用平方…

2017年高教社杯全国大学生数学建模竞赛题目 B题 “拍照赚钱”的任务定价

“拍照赚钱”的任务定价分析 “拍照赚钱” 是一种需要会员在APP上领取任务&#xff0c;完成后赚取对任务所标定的酬金的自助服务模式&#xff0c;这种APP中任务定价是其核心要素。通过对“拍照赚钱”的任务定价方案进行分析评价与改进及任务打包方案的优化&#xff0c;以达到节…

2010年高教社杯全国大学生数学建模竞赛题目B题解析及层次分析法AHP在其中的应用

2010年高教社杯全国大学生数学建模竞赛题目 B题 2010年上海世博会影响力的定量评估 2010年上海世博会是首次在中国举办的世界博览会。从1851年伦敦的“万国工业博览会”开始&#xff0c;世博会正日益成为各国人民交流历史文化、展示科技成果、体现合作精神、展望未来发展等的…

第十一届全国大学生数学竞赛A类真题+答案+详细讲解+知识点总结

自己写的第十一届A类的答案&#xff08;有参考正确答案&#xff09;&#xff0c;最好配套讲解视频理解&#xff0c;搜B站&#xff1a;认真的小庄ʕ •ᴥ•ʔ欢迎关注&#xff01; 2009年&#xff0c;中国大学生数学竞赛&#xff08;通称为“全国大学生数学竞赛”&#xff09;开…

【2020年第12届全国大学生数学竞赛——资源分享 】【1~11届省赛决赛考题及题解(数学类、非数学类)、推荐学习网址、复习备考书籍推荐】

2020-10-24【程序员节】&#x1f601;为了勋章&#xff0c;冲冲冲~ 目 录 第1~11届省赛、决赛考题及题解&#xff08;数学类、非数学类&#xff09; 1、省赛决赛试卷及解析——非数学类and数学类 2、省赛决赛试卷及解析——非数学类 关于组织参加第十二届全国大学生数学竞…

Qt如何复制表格内容到excel?

文章可能已更新&#xff0c;最新地址&#xff1a;http://www.fearlazy.com/index.php/post/117.html 复制表格的内容是一种很常用的操作,但是要将表格中的内容复制到excel会存在一个问题。Qt应用程序和excel是两个不同程序&#xff0c;他们进行数据交互需要一座桥梁。它就是剪贴…

Microsoft Excel 教程:如何在 Excel 中移动或复制工作表或工作表数据?

欢迎观看 Microsoft Excel 教程&#xff0c;小编带大家学习 Microsoft Excel 的使用技巧&#xff0c;了解如何在 Excel 中移动或复制工作表或工作表数据。 如果需要重新组织数据&#xff0c;可以轻松地更改工作表在工作簿中的顺序&#xff0c;或将工作表移动或复制到另一个工作…

Excel表格中如何快速跨表复制粘贴,将表1数据一键复制到表2、表3、表4

Excel表格中如何快速跨表复制粘贴&#xff0c;将表1数据一键复制到表2、表3、表4 目录 Excel表格中如何快速跨表复制粘贴&#xff0c;将表1数据一键复制到表2、表3、表4 1、按住Shift键选中工作表2、表3、表4&#xff0c;选中后工作表名称颜色变浅 2、选中表格&#xff0c;…

PostgreSQL中的表复制

PostgreSQL提供了两种方式用来进行表复制&#xff1a; 1、create table as 2、create table like 数据准备 创建含有序列、主键、注释、CHECK约束的tmp表用于后续测试&#xff1a; create table tmp(id SERIAL,name VARCHAR(100) primary key,num int CHECK(10<num and n…

LaTeX分享008【LaTeX多图排列方法】

LaTeX分享【LaTeX多图排列方法】 作者&#xff1a;JinyuLi 日期&#xff1a;2023.03.18 内容&#xff1a;填坑&#xff0c;补充上一篇专栏中LaTeX图片插入问题中的多张图片同时插入的实现方法部分&#xff0c;本篇专栏主要还是分享graphicx包下的实现方法&#xff0c;分以下几个…

ChatGPT的过去、现在与未来

来源&#xff1a;CIO之家 作者&#xff1a;冯骁骋 OpenAI 开发推出了人工智能聊天机器人程序——ChatGPT&#xff0c;用于展示和测试一个庞大且强大的人工智能系统可以完成的任务。你可以问它无数的问题&#xff0c;通常也会得到想要的答案&#xff0c;例如问它一些百科全书式的…