mui写聊天界面_浅尝MUI-详解im-chat源码

本文详细梳理了基于MUI的im-chat聊天界面的源码逻辑,适合需要制作聊天界面的开发者参考。内容包括聊天窗口、点击播放、按住说话等功能的实现,并介绍了相关引用文件如mui.imageviewer.css、mui.imageViewer.js和arttmpl.js。此外,还提供了代码详解,解释了聊天窗口、语音输入、图片预览等关键部分的实现细节。
摘要由CSDN通过智能技术生成

写在前面

因最近项目需要制作一个聊天界面,对比后感觉MUI源码内的im-chat.html文件对各种情况的处理比较的全面,因此,将整个页面的逻辑从头到尾理了一遍,希望有需求的小伙伴可以少走弯路,通过这个模板,可以根据我们自己需要的功能进行定制,如果不是很清楚(用词不当)的地方,还请小伙伴们提出来,做相关修改,谢谢!

ps:理这种逻辑性的东西需要耐心,所以希望小伙伴能够静下心来慢慢理,任何代码都是根据需求实现。所以,可以结合实际操作来看相关模块。最后,求一波关注,哈哈!

相关引用

这个聊天框架基于MUI开发,正常引入相关文件后,还需引入如下文件:

图片预览的mui.imageviewer.css样式文件,

处理图片浏览的mui.imageViewer.js文件,

模板渲染的arttmpl.js文件;

代码详解

chat (聊天窗口)

 
 

点击播放

!
手指上滑,取消发送

(function($, doc) {

var MIN_SOUND_TIME = 800;

$.init({

gestureConfig: {

tap: true, //默认为true

doubletap: true, //默认为false

longtap: true, //默认为false

swipe: true, //默认为true

drag: true, //默认为true

hold: true, //默认为false,不监听

release: true //默认为false,不监听

}

});

template.config('escape', false);

//$.plusReady=function(fn){fn();};

$.plusReady(function() {

plus.webview.currentWebview().setStyle({

softinputMode: "adjustResize"

});

//强制弹出键盘

var showKeyboard = function() {

if ($.os.ios) {

var webView = plus.webview.currentWebview().nativeInstanceObject();

webView.plusCallMethod({

"setKeyboardDisplayRequiresUserAction": false

});

} else {

var Context = plus.android.importClass("android.content.Context");

var InputMethodManager = plus.android.importClass("android.view.inputmethod.InputMethodManager");

var main = plus.android.runtimeMainActivity();

var imm = main.getSystemService(Context.INPUT_METHOD_SERVICE);

imm.toggleSoftInput(0, InputMethodManager.SHOW_FORCED);

//var view = ((ViewGroup)main.findViewById(android.R.id.content)).getChildAt(0);

imm.showSoftInput(main.getWindow().getDecorView(), InputMethodManager.SHOW_IMPLICIT);

//alert("ll");

}

};

var record = [{

sender: 'zs',

type: 'text',

content: 'Hi,我是 MUI 小管家!'

}];

var ui = {

body: doc.querySelector('body'),

footer: doc.querySelector('footer'),

footerRight: doc.querySelec

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当在运行命令`npm install`时,可能会遇到错误信息"Command failed",具体错误信息可能是`node-sass: Command failed.`。这个错误通常与`node-sass`模块有关。根据引用中的解决方法,你可以尝试执行以下命令来解决这个问题: 1. 首先,运行命令`npm uninstall node-sass`,这将卸载当前安装的`node-sass`模块。 2. 然后,运行命令`npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/`,这将重新安装`node-sass`模块,并使用淘宝镜像加速下载。 3. 最后,运行命令`npm install`,这将重新安装所有依赖。 通过执行上述命令,你可以尝试解决`node-sass: Command failed`错误。希望对你有帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [安装vue项目依赖 node_modules目录 npm install (npm i) 时报错:ERR ***\node_modules\node-sass command ...](https://blog.csdn.net/weixin_45417815/article/details/121977354)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [package.json 封装 vue模块_vue仿小米商城 -- 我知道的都在这里了](https://blog.csdn.net/weixin_39521651/article/details/109916394)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值