前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >移动端app开发问题及理解

移动端app开发问题及理解

作者头像
全栈程序员站长
发布2022-07-02 16:39:35
3.8K0
发布2022-07-02 16:39:35
举报

大家好,又见面了,我是你们的朋友全栈君。

前端使用的是 h5+vue+vant3(ui框架)+webpack+Nginx

vant官网地址 https://vant-contrib.gitee.io/vant/#/zh-CN/

移动端跟web端事件有点不同

web端事件有 onload 页面中所有标签,文档,图片等资源加载完毕后触发 onclick 鼠标单击事件 ondbclick 鼠标双击事件 onmousedown 鼠标按下 onmouseup 鼠标按键抬起 onmouseover 鼠标进入某个元素 onmousemove 鼠标移动到元素 onmouseout 鼠标离开元素 onfocus 元素得到焦点 onblur 元素失去焦点 onchange 用户改变文本域内容 oninput 实时监听输入框变化 onpropertychange 与oninput一样,ie专属 onkeyup 键盘按键抬起 onkeydown 键盘按键按下 contextmenu 弹出右键菜单

h5新加事件 ondrag 元素被拖动时运行的脚本 ondragend 在拖动操作末端运行的脚本 ondragenter 当元素已被拖动到有效拖放区域是运行的脚本 ondragleave 元素离开有效拖放目标时运行的脚本 ondragover 元素在有效拖放目标上正在被拖动时运行的脚本 ondragstart 在拖动操作开端运行的脚本 ondrop 当被拖元素正在被拖放是运行的脚本 onmousewheel 当鼠标滚轮整被滚动时 onscroll 元素滚动条被滚动时

移动端事件有 click 单击事件 类似于pc端click,移动端中,连续click触发有200ms-300ms的延迟 touch 触摸类事件 touchstart 手指触摸到屏幕触发 touchmove 手指在屏幕上移动触发 touchend 手指离开屏幕触发 touchcancel 可由系统进行的触发,比如手指触摸屏幕时,突然alert了,或者系统中其他打断了touch行为可触发

tap触碰类事件 一般用于代替click事件 tap 手指碰一下屏幕触发 longTap 手指长按屏幕触发 singleTap 手指碰一下屏幕触发 doubleTap 手指双击屏幕触发

swip滑动类事件 swipe 手指在屏幕上滑动触发 swipeLeft 手指在屏幕上左滑触发 swipeRight 手指在屏幕上右滑触发 swipeUp 手指在屏幕上上滑触发 swipeDown 手指在屏幕上下滑触发

vant组件使用过程中遇到的问题

弹框dialog组件确认回调函数 最开始我绑定的是confirm事件 但是实际调用的时候接口一直调用进入死循环了,控制台报Maximum call stack size exceeded 超出最大调用堆栈大小

后来搜索发现,confirm触发机制是:加载页面会触发,点击按钮打开模态框触发,点击确定触发,点击取消触发。

可以改用beforeClose事件 回调函数有两个参数,第一个判断点击的是确认按钮还是取消按钮。第二个感觉是可以关闭模态框

在这里插入图片描述
在这里插入图片描述

移动端消息推送

消息推送跟设备走还是跟人走? 跟人走是根据登录的账号。根据用户权限判断该用户是否可以收到消息的推送 app安装在设备上,跟设备走是根据设备的mac地址。根据mac地址判断该设备是否可以收到消息,给相应的设备推送消息。

本项目消息推送跟设备走

消息推送测试的逻辑: 首先分组长和组员两个成员身份,组长有分配维修单的权限。 当填写完维修单后,所有人都可以收到推送的消息通知,当组长分配维修单后,只有指定的人收到维修单的通知。分配的人会收到两条消息通知。

js如何与app端交互

具体可看下这个 https://zhuanlan.zhihu.com/p/337890794

我的理解 首先了解下 app移动端网页运行在手机应用内嵌的浏览器引擎中,没有UI的内核容器统称WebView。iPhone的UIWebView(iOS2.0-12.0 ),WKWebView(iOS8.0+,macOS10.10+),Android的WebView WebView可以理解为手机应用中运行和展示网页的界面和接口

我的理解WebView相当于一个中间层,h5和原生应用交互都是通过原生应用中的WebView,h5调用原生应用注入其中的原生对象的方法,原生应用调用h5暴露在该环境中的JavaScript对象的方法,实现指令和数据的传输。

前端通过WebView层和app进行交互获取相关信息,然后把信息当做参数掉接口传参

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/148414.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 移动端跟web端事件有点不同
  • vant组件使用过程中遇到的问题
  • 移动端消息推送
  • js如何与app端交互
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档