移动端app开发问题及理解

移动端app开发问题及理解框架使用的是vant跟web端不太一样的是事件有点不同web端事件有onload页面中所有标签,文档,图片等资源加载完毕后触发onclick鼠标单击事件ondbclick鼠标双击事件onmousedown鼠标按下onmouseup鼠标按键抬起onmouseover鼠标进入某个元素onmousemove鼠标移动到元素onmouseout鼠标离开元素onfocus元素得到焦点onblur元素失去焦点onchange用户改变文本域内容oninput实时监听输入框

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

前端使用的是
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.net/148414.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux杀死进程详解「建议收藏」

    linux杀死进程详解「建议收藏」1.kill作用:根据进程号杀死进程用法:kill[信号代码]进程ID举例:[root@localhost~]#psauxf|grephttpd注意:kill-9来强制终止退出举例[root@localhost~]#psaux|grepgaim或

    2022年9月29日
    6
  • C#MQTTNET服务端使用说明

    C#MQTTNET服务端使用说明C#MQTTNET服务端使用说明1.安装MQTTNet两种方式Shell可视化安装2.当前我的项目安装的依赖如下3.如何使用1.我想启动MQTT服务器,我该怎么做?2.我想知道MQTT服务器是否启动成功,我该怎么做?3.我想知道MQTT服务器是否停止允许,我该怎么做?4.我想知道有那些设备连接上了服务器,我该怎么做?5.我想知道有那些设备断开连接,我该怎么做?6.我想监听消息,我该怎么做?7.我想连接的客户端校验身份信息后才允许收发消息,我该怎么做?8.我想知道客户端订阅主题与取消订阅主题,我该怎么做?1.

    2022年6月25日
    316
  • VC++常见错误原因解析之error LNK2019: 无法解析的外部符号 “public: void __thiscall[通俗易懂]

    VC++常见错误原因解析之error LNK2019: 无法解析的外部符号 “public: void __thiscall[通俗易懂]VC++常见错误原因解析之errorLNK2019:无法解析的外部符号"public:void__thiscall出现这个错误,应该首先查看“#include”语句是否包含,或者是否包含正确。符号无法解析意味着编译器知道有这个符号存在,也就是有声明,但在链接时,找不到实现代码,那么就去看看报错的这个函数有没有实现代码。如果它们的确已经有了,还是出现这个错误,就把它们重新编译一下。…

    2022年10月5日
    3
  • c++ 函数指针

    c++ 函数指针函数指针基础:1.获取函数的地址2.声明一个函数指针3.使用函数指针来调用函数获取函数指针:函数的地址就是函数名,要将函数作为参数进行传递,必须传递函数名。声明函数指针声明指针时,必须指定指针指向的数据类型,同样,声明指向函数的指针时,必须指定指针指向的函数类型,这意味着声明应当指定函数的返回类型以及函数的参数列表。例如:doublecal(int);…

    2022年6月22日
    27
  • mysql官方监控工具_mysql数据库监控

    mysql官方监控工具_mysql数据库监控spy.properties可以直接到http://my.oschina.net/zh119893/blog/272545复制.P6Spy监控JDBC详细配置说明http://blog.csdn.net/u010280007/article/details/88131401、解压出p6spy.jar和spy.properties两个文件2、将p6spy.jar放入应用程序的WEB-INF…

    2022年9月27日
    4
  • 二分查找判定树(二分查找树平均查找长度)

    如果data[0]等于一组数据中最小的,那么就会增加查找的时间复杂度。平衡二叉树(追求极致的平衡),现实需求很难满足,红黑数孕育而生

    2022年4月11日
    180

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号