HTML5+ API 爬坑记录

背景:

有个比较早些使用5+开发的项目, 最近两天反馈了一些问题, 解决过程在此记录;

坑1: plus.gallery.pick 选择图片没有进入回调

HTML5+ API Reference

在 联想小新 平板电脑上选择相册图片进行上传时, 打开相册瞬间 应用会自动重启, 相册倒是有打开, 不过应用重启了, 导致业务也完成不了, debug 没有任何错误, gallery.pick 成功和失败的回调都没有进入;

原因分析: 应用采用的强制横屏模式, 在 manifest.json 中 是像如下配置的, 而平板系统的横竖屏设置是锁定竖屏的, 可能应用在跳转到系统相册界面时突然从横屏转向竖屏是某些冲突导致, 至于更深层的原因暂时还没有能力排查;

复制代码
"screenOrientation" : [ "landscape-primary" ],
"plus": {
    "distribute" : {
        "orientation" : [ "portrait-primary", "portrait-secondary" ], 
    }
}

临时解决办法: 将平板电脑的屏幕方向设置为横屏, 并将其锁定;

坑2: plus.barcode.Barcode 扫码控件 返回数据错误

HTML5+ API Reference

创建扫码控件 扫描比较复杂的条形码时返回数据错误, 扫到的总是一些不相干的数据, 极小概率可以扫到正确的数据, 代码中已经配置 条码类型过滤器, filters, 代码和条码如下

复制代码
scan = new plus.barcode.Barcode('bcid',[
	"plus.barcode.CODE128",
	"plus.barcode.QR"
]);

原因分析: 期初以为是配置的码制问题, 怀疑码不是code128 的, 看了下内容, 除了 code128, 只能是code39 才支持这种格式的内容, 改了发现还是不行, 好像没啥用; 也down 了官方demo 下来, 配置这个filters 也是一样的结果;

经过多次查看官方示例时发现, 传入的filters 的内容格式似乎不太对, 人家的示例传入的filters 是没有引号的!!!

解决办法: 将filters 的引号去掉;

javascript 复制代码
scan = new plus.barcode.Barcode('bcid',[
	plus.barcode.CODE128,
	plus.barcode.QR,
	// plus.barcode.EAN13,
	// plus.barcode.EAN8,
	// plus.barcode.AZTEC,
	// plus.barcode.DATAMATRIX,
	// plus.barcode.UPCA,
	// plus.barcode.UPCE,
	// plus.barcode.CODABAR,
	// plus.barcode.CODE39,
	// plus.barcode.CODE93,
	// plus.barcode.ITF,
	// plus.barcode.PDF417,
]);
相关推荐
腾讯云云开发15 分钟前
小程序数据库权限管理,一看就会!——CloudBase新手指南
前端·数据库·微信小程序
多则惑少则明1 小时前
Vue开发系列——自定义组件开发
前端·javascript·vue.js
用户250694921611 小时前
next框架打包.next文件夹部署
前端
程序猿小蒜1 小时前
基于springboot的校园社团信息管理系统开发与设计
java·前端·spring boot·后端·spring
一叶难遮天1 小时前
开启RN之旅——前端基础
前端·javascript·promise·js基础·es6/ts·npm/nrm
申阳1 小时前
Day 4:02. 基于Nuxt开发博客项目-整合 Inspira UI
前端·后端·程序员
程序猿_极客1 小时前
【期末网页设计作业】HTML+CSS+JavaScript 猫咪主题网站开发(附源码与效果演示)
前端·css·html·课程设计·网页设计作业
IT古董1 小时前
【前端】从零开始搭建现代前端框架:React 19、Vite、Tailwind CSS、ShadCN UI 完整实战教程-第1章:项目概述与技术栈介绍
前端·react.js·前端框架
有点笨的蛋1 小时前
从零搭建小程序首页:新手也能看懂的结构解析与实战指南
前端·微信小程序
爱宇阳1 小时前
Vue3 前端项目 Docker 容器化部署教程
前端·docker·容器