HTML5Plus

之前写过在 vue 中使用 mui 框架的方法,因为用 vue 开发后打包 5+App 会有一些问题,所以当时用到了,最近又一次开发移动端,不同的是这次使用的是 vue3 开发的,导致之前使用的 vue-awesome-mui 依赖不能使用了,因为作者很长时间没有维护了,vue3 不适用,后来了解到使用 plus 对象不需要 mui 的支持,是本身 html5+的对象,所以记录一下 plus 直接使用的方法

首先说一下,plus 在浏览器中是不起作用的,专门在 5+App 中使用的,主要作用是调用手机原生的一些功能。
以前认为 app 都是 java 写原生开发才是正宗的,挺早之前就用过 5+App 打包 app 应用,但始终觉得是一层覆盖到底层之上的,操作不了底层的功能,最近才终于真实的了解了 5+App。

各种操作方法,方法的说明、参数、回调、示例,可以查看html5plus 官方文档,里面都记录的很详细

值得一提的是plus.runtime.openURL(url, errorCB, identity)方法,这个可以用来唤醒其他的 app,这里的 url 的值可以是 UrlSchemes+“😕/”,UrlSchemes 就是在打包 app 时填写的 App 常用其他设置里的一项 Android 设置

在这里插入图片描述

下面就具体说一下

这里需要监听一下 plusready 事件,在这个成功的回调函数进行一些涉及到 plus 的操作,这个事件看字面意思就可以理解,plus ready就是 plus 准备好了的意思,这里我打印一下 plus 对象,因为打印在浏览器上无效,只能使用 HbuilderX 启动手机模拟器调试,所以需要使用JSON.stringify()格式化成字符串,否则在 HBuilderX 打印出来就是[Object Object]

      document.addEventListener("plusready",function () {console.log(JSON.stringify(plus));},false);

打印出来的结果,我这里复制转回 JSON 格式的,里面有用的信息还是挺多的,但是这个只显示属性,不像浏览器的打印对象还给显示可操作的方法

{"isReady": true,"tools": {"__UUID__": 1,"UNKNOWN": -1,"IOS": 0,"ANDROID": 1,"platform": 1,"debug": false},"bridge": {"NO_RESULT": 0,"OK": 1,"CLASS_NOT_FOUND_EXCEPTION": 2,"ILLEGAL_ACCESS_EXCEPTION": 3,"INSTANTIATION_EXCEPTION": 4,"MALFORMED_URL_EXCEPTION": 5,"IO_EXCEPTION": 6,"INVALID_ACTION": 7,"JSON_EXCEPTION": 8,"ERROR": 9,"callbacks": {},"isInEvalJs": 0},"obj": {},"accelerometer": {},"audio": {"ROUTE_SPEAKER": 0,"ROUTE_EARPIECE": 1},"barcode": {"QR": 0,"EAN13": 1,"EAN8": 2,"AZTEC": 3,"DATAMATRIX": 4,"UPCA": 5,"UPCE": 6,"CODABAR": 7,"CODE39": 8,"CODE93": 9,"CODE128": 10,"ITF": 11,"MAXICODE": 12,"PDF417": 13,"RSS14": 14,"RSSEXPANDED": 15},"cache": {},"camera": {},"contacts": {"ADDRESSBOOK_PHONE": 0,"ADDRESSBOOK_SIM": 1},"downloader": {"__taskList__": []},"gallery": {"__galleryStatus": 0,"onPickImageFinished": null},"geolocation": {"lastPosition": null},"io": {"PRIVATE_WWW": 1,"PRIVATE_DOC": 2,"PUBLIC_DOCUMENTS": 3,"PUBLIC_DOWNLOADS": 4},"maps": {"MapType": {"MAPTYPE_SATELLITE": "MAPTYPE_SATELLITE","MAPTYPE_NORMAL": "MAPTYPE_NORMAL"},"SearchPolicy": {"TRANSIT_TIME_FIRST": "TRANSIT_TIME_FIRST","TRANSIT_TRANSFER_FIRST": "TRANSIT_TRANSFER_FIRST","TRANSIT_WALK_FIRST": "TRANSIT_WALK_FIRST","TRANSIT_FEE_FIRST": "TRANSIT_FEE_FIRST","DRIVING_TIME_FIRST": "DRIVING_TIME_FIRST","DRIVING_NO_EXPRESSWAY": "DRIVING_NO_EXPRESSWAY","DRIVING_FEE_FIRST": "DRIVING_FEE_FIRST"},"__bridge__": {"callback": []}},"messaging": {"TYPE_SMS": 1,"TYPE_MMS": 2,"TYPE_EMAIL": 3},"ui": {"__nviews__": {}},"orientation": {},"payment": {},"push": {},"runtime": {"arguments": "","version": "13.6.5","innerVersion": "1.9.9.81507","uniVersion": "","launchLoadedTime": "103","launcher": "default","origin": "default","processId": "5981","startupTime": "1670852291370","isRecovery": false,"appid": "HBuilder","channel": "","versionCode": 130605},"share": {},"speech": {},"statistic": {},"storage": {},"uploader": {"__taskList__": {}},"widget": {},"net": {},"zip": {},"proximity": {},"android": {"__Tool": {"undefObjectHash": {}}},"ios": {"__Tool": {"undefObjectHash": {}}},"nativeUI": {},"navigator": {"__statusBarHeight__": 24},"key": {},"webview": {"__JSON_Window_Stack": {}},"oauth": {},"nativeObj": {},"stream": {},"device": {"imei": "358240051111110,358240051111110","imsi": ["310260000000000"],"model": "Android SDK built for x86_64","vendor": "unknown","uuid": "358240051111110,358240051111110"},"os": {"language": "en-US","version": "7.1.1","name": "Android","vendor": "Google"},"screen": {"resolutionHeight": 640,"resolutionWidth": 360,"scale": 2,"dpiX": 320,"dpiY": 320,"height": 1280,"width": 720},"display": {"resolutionHeight": 640,"resolutionWidth": 360},"networkinfo": {"CONNECTION_TYPE": 0,"CONNECTION_UNKNOW": 0,"CONNECTION_NONE": 1,"CONNECTION_ETHERNET": 2,"CONNECTION_WIFI": 3,"CONNECTION_CELL2G": 4,"CONNECTION_CELL3G": 5,"CONNECTION_CELL4G": 6,"CONNECTION_CELL5G": 7},"fingerprint": {},"video": {},"shortvideo": {},"bluetooth": {},"ibeacon": {},"sqlite": {},"ad": {},"__tag__": "onPageFinished"
}

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

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

相关文章

网络威胁防御+资产测绘系统-Golang开发

NIPS-Plus 网络威胁防御资产测绘系统-Golang开发 项目地址:https://github.com/jumppppp/NIPS-Plus NIPS-Plus 是一款使用golang语言开发的网络威胁防御系统(内置资产测绘系统) 网络威胁流量视图网络威胁详细信息浏览列表网络威胁反制探测攻…

安全模型中的4个P

引言:在安全模型中,经常会碰到PDR,PPDR,IPDRR,CARTA-PPDR等模型,其中的P,是predict?是prevent?还是protect?还是policy呢? 一、4P字典意思解释 1、predict&a…

安全运营中心(SOC)技术框架

2018年曾经画过一个安全运营体系框架,基本思路是在基础单点技术防护体系基础上,围绕着动态防御、深度分析、实时检测,建立安全运营大数据分析平台,可以算作是解决方案产品的思路。 依据这个体系框架,当时写了《基于主动…

【人月神话】深入了解软件工程和项目管理

文章目录 👨‍⚖️《人月神话》的主要观点👨‍🏫《人月神话》的主要内容👨‍💻作者介绍 🌸🌸🌸🌷🌷🌷💐💐💐&a…

Mybatis的关联关系映射以及自定义resultMap三种映射关系

目录 经典面试题: 一,关联关系映射 二,具体步骤: 总结 前言: 今天我们来学习Mybatis的关联关系映射以及自定义resultMap三种映射关系,希望这篇博客可以帮助大家的学习工作!!&…

Jdk1.7之ConcurrentHashMap源码总结

文章目录 一、常见属性1. 初始化容量2. 加载因子3. 并发级别 二、重要方法1. 构造方法2. ConcurrentHashMap#put方法2.1 ConcurrentHashMap#put#ensureSegment2.2 ConcurrentHashMap#Segment#put2.2.1 Segment#put#scanAndLockForPut2.2.2 Segment#put#rehash 3. ConcurrentHas…

机器学习前沿:改进自身缺陷,满足新战略

前机械师( 来源) 一、说明 机器学习在人工智能历史上扮演重要角色,然而,存在问题也不少。为了适应新时代和新任务,不做出重大改进是不可能的,本篇就一些突出问题和改进做出讨论。以便读者掌握未来的思路和方向。 二、机…

Spring5查缺补漏

Spring5-基础知识 笔记简介: 1、Spring概念 2、IOC 3、AOP 4、JDBCTemplate 5、事务管理 6、Spring5里边的新特性 概述: 1、Spring框架是一个轻量级 开源的javaEE框架。 轻量级:引入依赖的jar包数量少,体积小。不再需要…

【力扣每日一题】2023.9.9 课程表

目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 题目给我们一些课程的先修关系,也就是有些课我们需要先去学其他的课程才能学习,问我们是否可以学习完所有的课程。…

Qt 5.15集成Crypto++ 8.8.0(MSVC 2019)笔记

一、背景 笔者已介绍过在Qt 5.15.x中使用MinGW(8.10版本)编译并集成Crypto 8.8.0。 但是该编译出来的库(.a和.dll)不适用MSVC(2019版本)构建环境,需要重新编译(.lib或和.dll&#xf…

pytorch(b站小土堆学习笔记P1-P15)

P3. Python学习中的两大法宝函数(当然也可以用在PyTorch) import torch#查看pytorch有哪些指令 print(dir(torch)) print(dir(torch.cuda)) #查看每条指令怎么用 help(torch.cuda.is_available) P4. PyCharm及Jupyter使用及对比 P5 dataset和dataloade…

MySQL 连接查询和存储过程

一、连接查询 mysql的连接查询,通常都是将来自两个或多个表的记录行结合起来,基于这些表之间的共同字段,进行数据的拼接 首先,要确定一个主表作为结果集,然后将其它表的行有选择性的连接到选定的主表结果上&#xff…