经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » HTML/CSS » HTML5 » 查看文章
uni-app开发经验分享十三:实现手机扫描二维码并跳转全过程
来源:cnblogs  作者:林恒  时间:2020/12/14 17:19:55  对本文有异议

最近使用 uni-app 开发 app ,需要实现一个调起手机摄像头扫描二维码功能,官网API文档给出了这样一个demo:

  1. // 允许从相机和相册扫码
  2. uni.scanCode({
  3. success: function (res) {
  4. console.log('条码类型:' + res.scanType);
  5. console.log('条码内容:' + res.result);
  6. }
  7. });

该示例确实可以调起手机摄像头,但扫描后没有结果。但它打印了 条码类型 与 条码内容 ,我们控制台查看一下:

条码类型具体参考 官方API文档,写的非常清楚,我们主要谈一下条码内容。不难发现,条码内容的 URL 是由 res.result 产出,那么问题来了,这个 URL 可以访问吗?

带着好奇心,我来到了浏览器地址栏…发现正常访问,这时我就在想,只要扫码后跳转到这个 URL 不就可以完成了吗!

最后,我使用了 HTML5+ 的 openURL API 完成外部链接的跳转,我们先来看一下 API 介绍:

  1. HTML5+ 官网 API 文档:http://www.html5plus.org/doc/zh_cn/runtime.html#plus.runtime.openWeb

1. 语法及介绍

描述:调用第三方程序打开指定的URL

  1. void plus.runtime.openURL( url, errorCB, identity )

2. 参数与返回值

  1. url: ( String ): 必选,要打开的URL地址,字符串类型,各平台支持的地址类型存在差异,参考平台URL支持表。
  2. errorCB: ( OpenErrorCallback ) :可选,打开URL地址失败的回调,打开指定URL地址失败时回调,并返回失败信息。
  3. identity: ( String ) :可选,指定打开URL地址的程序名称,在iOS平台此参数被忽略,在Android平台为程序包名,如果指定的包名不存在,则打开URL地址失败。

返回值:void(无)


最后完善一下前面的示例,让其支持扫描二维码并跳转到相应地址:

  1. uni.scanCode({
  2. success: function (res) {
  3. void plus.runtime.openWeb(res.result,function(){
  4. // 识别失败代码
  5. });
  6. }
  7. });

 

原文链接:http://www.cnblogs.com/smileZAZ/p/14105338.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号