有关于APICLOUD打印条码功能的操作
最近公司要求一周写一个关于条码扫描和打印功能的APP,然后对接系统数据,然而,公司只有我一个可以做的,我只能取巧开发了,于是在APPCAN和APICLOUD中选择了后者,别问我为啥,问了就是,后者开发舒服
关于条码扫描,我选了一个FNScanner,这个用来扫描还是挺好的,速度也不慢。开始上一个扫描的代码
FNScanner = api.require('FNScanner');FNScanner.open({autorotation: true}, function(ret, err) {if (ret.content) {
//介个地方就是判断,如果扫到条码或者二维码了,你就可以放心大胆的用你扫到的东西去做你想做的事情了,嘿嘿嘿,不要慌,有时候也会因为条码不完整导致扫到的是什么鬼……ret.content这个值就是你要的玩意}});
然后扫描的功能就这样了,核心代码很少,记住,这个扫描模块是需要你先添加这个模块到你的项目中才能生效的,别哈戳戳的直接去写,然后过来问我,为啥提示报错,undefined!!我会敲断你的腿还会叫人砸你家玻璃的!!
然后第二步,就是解决打印条码功能,和生成条码功能了
要求:1、根据字符串生成对应的条码
2、输入数值,点击打印,则打印出对应数量的条码
话不多说,开工
生成条码我选择了printBleWifi模块的getBarCode方法,这玩意可以返回一个base64格式的一维码代码
var print = api.require('printBleWifi');print.getBarCode({string:fnsku},function(ret, err) {if (ret.code==0) {var base64 = ret.base64;//介玩意就是那一串base64的字符串啦,慢慢搞哈,不要急} else {alert('获取失败');}});
到了这一步,有人就要急了,我怎么打印呢,我打印纸和你的又不一样,怎么玩
我这个打印纸是一排两列的那种,总长度是83mm左右,高度是20mm,每行间隔是2mm,然后,中间间隔1-2mm,毕竟供货的哈麻皮公司生产也会有误差的,我用的打印模块是posPrinter,废话不多说,上代码
var printModule = api.require('posPrinter');var param ={taskList:[{printerAddr: printid,type:2,tscSetting:{width:86,height:20,gap:2},content:'<img left="-30" top="-20">'+base64+'</img><img left="306" top="-20">'+base64+'</img>'+'<text size="16" center="1" left="-160" bold="true" top="98">'+sku+'</text>'+'<text size="16" center="1" left="176" bold="true" top="98">'+sku+'</text>'//指的是打印机左边的,越大越往右偏移+'<text size="16" center="1" left="-150" bold="true" top="112">DO NOT RELABEL! PLEASE!</text>'+'<text size="16" center="1" left="175" bold="true" top="112">DO NOT RELABEL! PLEASE!</text>'+'<text size="14" center="1" left="-75" bold="true" top="128">'+getdates()+'</text>'+'<text size="14" center="1" left="255" bold="true" top="128">'+getdates()+'</text>',//<qr>标签表示打印二维码//tagContent里面所有标签都支持旋转属性,如rotate="45"表示旋转45度//text标签可以使用center="1"表示居中,如果居中时,设置left="-10",表示居中后,再往左偏移10keepAlive:true, //usb或者蓝牙打印机,建议把keepAlive设为true,在打印完毕后执行关闭操作copyNum: num}]};// alert(num);printModule.print(param, function (ret, err) {if(ret!=''&&ret!=undefined){console.info(JSON.stringify(ret));alert('打印'+ret.result);}else{console.info(JSON.stringify(err));alert('打印机未连接或者正在被占用,请连接其他打印设备或稍后再试');}});
搞到这里就差不多了,反正我是被逼着写这个功能的,上面3个模块,有2个是要钱的,还不便宜,如果只是公司内部使用,我推荐你用测试版本玩玩就好了,等大家都习惯了,再去缴费升级正式版本,别想着不给钱,人家也难做,安啦
最后,还是告诉大家,学无止境,多勤多习……我是一个JAVA全栈开发攻城狮,我为自己带盐,齁死我了,拜拜
有关于APICLOUD打印条码功能的操作相关推荐
- 多级队列调度算法可视化界面_进程调度功能由操作系统内核的进程调度程序完成...
进程调度的功能与时机 一.进程调度的功能 进程调度功能由操作系统内核的进程调度程序完成,在Linux 内核中,进程调度功能的实现从调用内核函数schedule()开始.进程调度的功能是按照某种策略和算 ...
- oracle ebs 采购订单 为员工分配职务,oracle—EBS-采购功能点操作手册
oracle-EBS-采购功能点操作手册 浙大软件学院学生操作手册 PO模块功能点操作手册 作者:韩业邦 李亚军 创建日期:2012年3月6日 更新日期:2012年3月7日 版本:1.0 文档控制 更 ...
- MTK MODEM(1)--- MTK平台NV基本功能与操作
MTK平台NV基本功能与操作 一.NVRAM基本概念 NV就是Non Volatile缩写,就是非易失性存储性,通俗来说,就是即使系统掉电后,存储在该存储器的数据也不会丢失. 为什么要备份恢复, ...
- 「Photoshop2021入门教程」新功能——快速操作
PS新手教程哪里有?小编为大家带来Photoshop2021新手系列教程,今天我们来学习PS新功能--快速操作面板. 打开图片 菜单栏点击帮助-Photoshop帮助... 弹出发现窗口,选择快速操作 ...
- Parallels Desktop 安装Win 10提示“安全启动功能防止操作系统启动”该怎么解决?
Parallels Desktop 安装 Windows10 提示"安全启动功能防止操作系统启动"该怎么解决?未来小编就来帮大家解决这个难题!一起来看以下教程吧- pd17虚拟机 ...
- Parallels Desktop 安装 Windows10 提示“安全启动功能防止操作系统启动”怎么解决?
Parallels Desktop 17.1.0 安装 Windows10 提示"安全启动功能防止操作系统启动"怎么解决?如下图提示: 安装 Parallels Desktop 1 ...
- oracle—ebs_采购功能点操作手册,oracle—EBS_采購功能点操作手册.doc
oracle-EBS_采購功能点操作手册 PO模块功能点操作手册 作者:韩业邦 李亚军 创建日期:2012年3月6日 更新日期:2012年3月7日 版本:1.0 文档控制 更新记录 版本日期姓名说明1 ...
- oracle采购操作手册,oracle-ebs采购功能点操作手册.doc
oracle-ebs采购功能点操作手册.doc PO模块功能点操作手册 作者:韩业邦 李亚军 创建日期:2012年3月6日 更新日期:2012年3月7日 版本:1.0 文档控制 更新记录 版本日期姓名 ...
- Oracle在采购部增加一名员工,ORACLEEBS采购功能点操作手册1.doc
PO模块功能点操作手册 作者:韩业邦 李亚军 创建日期:2012年3月6日 更新日期:2012年3月7日 版本:1.0 文档控制 更新记录 版本日期姓名说明1.02012年3月6日韩业邦 根据po的知 ...
- xt6使用技巧_凯迪拉克XT6中控屏幕功能使用操作图解
2020款昂克赛拉在外部配置上,全系标配远近光一体式LED大灯.LED尾灯.双边共两出式排气.而1.5L和2.0L车型不同之处在于前格栅配色,同时轮圈规格分别为16英寸和18英寸.此外,中高配车型将提 ...
最新文章
- ES不香吗,为啥还要ClickHouse?
- jdbc连接mysql驱动方式_JDBC连接数据库系列教程 – JDBC注册驱动的常见方式
- Flutter Widget
- python3 编写守护进程程序思路
- 《Visual C++数字图像模式识别技术详解(第2版)》一3.4 形状特征
- linux 安装go编译器,CentOS 7 安装 go 语言开发环境
- 向往的生活---考研路上的励志鸡汤
- 《研磨设计模式》chap18 状态模式state(2)模式介绍
- 属性提取器:获取ListView即时更新其元素的最佳方法
- 提取多个字段_动态合并多个工作表,数据再多也不怕
- 国产 14nm 迎曙光,进口荷兰光刻机顺利入厂!
- python3.7 keras和tensorflow兼容_解决Keras 与 Tensorflow 版本之间的兼容性问题
- 数据保护:从“随意架构”到简单可控
- 教你如何构建异步服务器和客户端的 Kotlin 框架 Ktor
- 全国大学生电子设计竞赛参赛分享
- BT4中文版(集成spoonwep2/spoonwpa)下载地址
- 【脚本解析笔记】文件批量重命名
- 26. 简述队列和栈的异同
- P1606 [USACO07FEB]白银莲花池Lilypad Pond
- 微信网页授权的2种方式