原创新作uniapp+vue3+pinia2高仿微信App聊天(uniapp实战仿微信聊天)

前段时间有给大家分享一个flutter3.x桌面端os系统。今天再分享一款最新原创之作uniapp-vue3-wechat聊天实例。

原创新作uniapp+vue3+pinia2高仿微信App聊天(uniapp实战仿微信聊天)

uni-vue3-wechat采用vue3 setup语法糖编码开发,支持编译到h5 小程序端 APP端

原创新作uniapp+vue3+pinia2高仿微信App聊天(uniapp实战仿微信聊天)原创新作uniapp+vue3+pinia2高仿微信App聊天(uniapp实战仿微信聊天)

技术栈

  • 开发工具:HbuilderX 4.0.8
  • 技术框架:Uniapp Vue3 Pinia2 Vite4.x
  • UI组件库:uni-ui uv-ui
  • 弹框组件:uv3-popup(uniapp vue3多端自定义弹框组件)
  • 自定义组件:uv3-navbar uv3-tabbar组件
  • 缓存服务:pinia-plugin-unistorage
  • 编译支持:H5 小程序 APP端

原创新作uniapp+vue3+pinia2高仿微信App聊天(uniapp实战仿微信聊天)原创新作uniapp+vue3+pinia2高仿微信App聊天(uniapp实战仿微信聊天)原创新作uniapp+vue3+pinia2高仿微信App聊天(uniapp实战仿微信聊天)

项目结构

使用HbuilderX 4.0.8编辑器开发项目,支持编译到h5/小程序/App端。

原创新作uniapp+vue3+pinia2高仿微信App聊天(uniapp实战仿微信聊天)原创新作uniapp+vue3+pinia2高仿微信App聊天(uniapp实战仿微信聊天)

/** * 入口文件 main.js*/import { createSSRApp } from 'vue'import App from './App'// 引入pinia状态管理import pinia from '@/pinia'export function createApp() { const app = createSSRApp(App) app.use(pinia) return { app, pinia }}

原创新作uniapp+vue3+pinia2高仿微信App聊天(uniapp实战仿微信聊天)

该项目已经同步到橱窗,如果有需要,欢迎去拍哈~

https://gf.bilibili.com/item/detail/1105801011

<script setup> import { provide } from 'vue' import { onLaunch, onShow, onHide, onPageNotFound } from '@dcloudio/uni-app' onLaunch(() => { console.log('App Launch') uni.hideTabBar() loadSystemInfo() }) onShow(() => { console.log('App Show') }) onHide(() => { console.log('App Hide') }) onPageNotFound((e) => { console.warn('Route Error:', `${e.path}`) }) // 获取系统设备信息 const loadSystemInfo = () => { uni.getSystemInfo({ success: (e) => { // 获取手机状态栏高度 let statusBar = e.statusBarHeight let customBar // #ifndef MP customBar = statusBar (e.platform == 'android' ? 50 : 45) // #endif // #ifdef MP-WEIXIN // 获取胶囊按钮的布局位置信息 let menu = wx.getMenuButtonBoundingClientRect() // 导航栏高度 = 胶囊下距离 胶囊上距离 - 状态栏高度 customBar = menu.bottom menu.top - statusBar // #endif // #ifdef MP-ALIPAY customBar = statusBar e.titleBarHeight // #endif // 由于globalData在vue3 setup存在兼容性问题,改为provide/inject替代方案 provide('globalData', { statusBarH: statusBar, customBarH: customBar, screenWidth: e.screenWidth, screenHeight: e.screenHeight, platform: e.platform }) } }) }</script><style> /* #ifndef APP-NVUE */ @import 'static/fonts/iconfont.css'; /* #endif */</style><style lang="scss"> @import 'styles/reset.scss'; @import 'styles/layout.scss';</style>

uni-vue3-chat布局结构

整体项目分为顶部导航 内容区 底部区三大模块。

原创新作uniapp+vue3+pinia2高仿微信App聊天(uniapp实战仿微信聊天)原创新作uniapp+vue3+pinia2高仿微信App聊天(uniapp实战仿微信聊天)

<!-- 公共布局模板 --><!-- #ifdef MP-WEIXIN --><script> export default { /** * 解决小程序class、id透传问题 * manifest.json中配置mergeVirtualHostAttributes: true, 在微信小程序平台不生效,组件外部传入的class没有挂到组件根节点上,在组件中增加options: { virtualHost: true } * https://github.com/dcloudio/uni-ui/issues/753 */ options: { virtualHost: true } }</script><!-- #endif --><script setup> const props = defineProps({ // 是否显示自定义tabbar showTabBar: { type: [Boolean, String], default: false }, })</script><template> <view class="uv3__container flexbox flex-col flex1"> <!-- 顶部插槽 --> <slot name="header" /> <!-- 内容区 --> <view class="uv3__scrollview flex1"> <slot /> </view> <!-- 底部插槽 --> <slot name="footer" /> <!-- tabbar栏 --> <uv3-tabbar v-if="showTabBar" hideTabBar fixed /> </view></template>

原创新作uniapp+vue3+pinia2高仿微信App聊天(uniapp实战仿微信聊天)

<!-- 语音面板 --><view v-if="voicePanelEnable" class="uv3__voicepanel-popup"> <view class="uv3__voicepanel-body flexbox flex-col"> <!-- 取消发送 语音转文字 --> <view v-if="!voiceToTransfer" class="uv3__voicepanel-transfer"> <!-- 提示动效 --> <view class="animtips flexbox" :class="voiceType == 2 ? 'left' : voiceType == 3 ? 'right' : null"><Waves :lines="[2, 3].includes(voiceType) ? 10 : 20" /></view> <!-- 操作项 --> <view class="icobtns flexbox"> <view class="vbtn cancel flexbox flex-col" :class="{'hover': voiceType == 2}" @click="handleVoiceCancel"><text class="vicon uv3-icon uv3-icon-close"></text></view> <view class="vbtn word flexbox flex-col" :class="{'hover': voiceType == 3}"><text class="vicon uv3-icon uv3-icon-word"></text></view> </view> </view> <!-- 语音转文字(识别结果状态) --> <view v-if="voiceToTransfer" class="uv3__voicepanel-transfer result fail"> <!-- 提示动效 --> <view class="animtips flexbox"><uni-icons type="info-filled" color="#fff" size="20"></uni-icons><text class="c-fff">未识别到文字</text></view> <view class="icobtns flexbox"> <view class="vbtn cancel flexbox flex-col" @click="handleVoiceCancel"><text class="vicon uv3-icon uv3-icon-chexiao"></text>取消</view> <view class="vbtn word flexbox flex-col"><text class="vicon uv3-icon uv3-icon-audio"></text>发送原语音</view> <view class="vbtn check flexbox flex-col"><text class="vicon uv3-icon uv3-icon-duigou"></text></view> </view> </view> <!-- 背景语音图 --> <view class="uv3__voicepanel-cover"> <image v-if="!voiceToTransfer" src="/static/voice_bg.webp" :webp="true" mode="widthFix" style="width: 100%;" /> </view> <!-- // 提示文字 --> <view v-if="!voiceToTransfer" class="uv3__voicepanel-tooltip">{{voiceTypeMap[voiceType]}}</view> <!-- 背景图标 --> <view v-if="!voiceToTransfer" class="uv3__voicepanel-fixico"><text class="uv3-icon uv3-icon-audio fs-50"></text></view> </view></view>

由于该项目涉及到的知识点还是蛮多的,这次就先分享到这里,感谢大家的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月9日 下午12:25
下一篇 2024年5月9日 下午12:37

相关推荐

  • 汾阳市阳城乡:建好管好用好党建书屋助推改革创新落地生根(党建书苑)

    黄河新闻网吕梁频道讯(任 婧) 今年以来,阳城乡认真贯彻落实习近平新时代中国特色社会主义思想,以“改革创新、奋发有为”大讨论为牵引,通过党建书屋“抓学习、立规矩、明要求、见实效”来…

    科研百科 2024年6月28日
    45
  • 经费开支管理制度

    经费开支管理制度 经费开支管理制度是组织管理中至关重要的一环,它关系到组织的正常运转和业务活动的开展。因此,建立一个科学合理的经费开支管理制度对于组织的成功发展至关重要。本文将介绍…

    科研百科 2024年5月30日
    120
  • 图解项目风险管理全过程和工具方法(图解项目风险管理全过程和工具方法分析)

    近期热文:图解项目风险管理全过程和工具方法 一张图知道项目经理每天每周每旬每月的日常工作 项目管理就是多想一步,多走一步 一图掌握项目管理的核心工具WBS工作分解结构,PM必备技能…

    科研百科 2022年8月22日
    173
  • 3d打印科研项目

    3D打印科研项目 3D打印技术是一项革命性的技术,可以制造出各种形状和结构的零件,从而极大地提高了工程学和制造业的效率。在过去几年中,3D打印技术已经取得了巨大的进展,现在已经成为…

    科研百科 2025年3月30日
    2
  • 国网泸溪县供电公司:“体检”安全工器具 严把安全“第一关”

    红网时刻湘西6月13日讯(通讯员 戴德芳)为进一步规范安全工器具管理,确保作业人员人身安全,满足现场安全生产需求,6月11日,国网泸溪县供电公司对所有班组、供电所的安全工器具与生产…

    科研百科 2022年7月16日
    248
  • 科研项目费用模版

    科研项目费用模版 在开展一项科研项目时,费用是一个必须考虑的因素。合理的科研项目费用能够确保项目能够顺利进行,并且最终达到预期的目标。下面是一份科研项目费用模版,供您参考。 1. …

    科研百科 2025年2月22日
    1
  • 科研项目分工内容

    科研项目分工是进行科学研究的重要环节,也是保证科研项目高效有序进行的基础。在科研项目分工中,科学家们通常会根据各自的研究兴趣、能力和特长来确定自己的工作内容和任务,从而更好地发挥自…

    科研百科 2025年2月14日
    0
  • 交友社交软件app开发

    如今,随着社交媒体的兴起和智能手机的普及,交友社交软件app开发成为了一个热门的领域。这些app不仅改变了人们的社交方式,也为人们提供了更多的机会去结识新朋友和建立更广泛的社交网络…

    科研百科 2023年7月22日
    191
  • 魔云系统和多唱系统

    魔云系统和多唱系统是两种最新的技术,被广泛应用于音乐创作和录制。这两种系统都能够自动完成一些繁琐的工作,例如自动录制和编辑音乐,提高创作和录制的效率。本文将介绍这两种系统的原理和应…

    科研百科 2024年10月20日
    2
  • 汽车专业科研项目

    汽车专业科研项目 随着现代汽车技术的不断进步,汽车专业科研项目也在不断发展。这些项目旨在开发新的汽车技术,提高汽车的性能和安全性。今天,我们将介绍一个汽车专业科研项目,该项目旨在开…

    科研百科 2025年3月1日
    0