小伙伴们,大家有没有开发过网页或者H5等等web页面时候遇到需要调用微信的jweixin.js的呢?
小编在开发过程中遇到了一个问题,因为我的项目是微信小程序内链的H5页面,所以当时我就使用uniapp开发H5,但是我们将代码上传到服务器的时候是需要打包的,并且小编当时是使用服务器中的一个页面使用iframe标签引用的。所以遇到使用不了jweixin.scanQRCode()这个方法,就没办法使用微信自带的扫一扫功能了。
那么uniapp开发的H5要怎么实现调用微信自带扫一扫呢?

服务器前端入口文件

<body><!--不妨可以看出小编在服务器的入口文件下使用的是iframe引入uniapp打包后的页面 --><iframe name="iframe" id="iframe" src="https://xxxx.xxx.com/static/h5/index.html" style="position: absolute;width: 100%;height: 100%;border: none;"></iframe><!--这里需要引入微信jweixin--><script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script><script>//在服务器入口文件中封装扫码方法function scanQRCode(){wx.scanQRCode({needResult: 0,// 默认为0,扫描结果由微信处理,1则直接返回扫描结果,scanType: ["qrCode","barCode"],// 可以指定扫二维码还是条形码success: function (res) {//扫码成功后回调的方法},fail: function (res) {alert("系统错误:"+JSON.stringify(res))}})}</script>
</body>

接着在uniapp前端中

uniapp代码

<view @click="scanQRCode">点击扫码</view><script>methods: {// 扫码签到scanQRCode(){//这里使用parent.调用父页面中的方法,即调用服务器前端入口文件我们封装的scanQRCode()方法parent.scanQRCode();}}</script>

那么,小伙伴们就会问了,为什么我这里不直接在uniapp中引入jweixin.js呢?
其实小编一开始也有尝试着直接在uniapp文件中引入jweixin.js,但是却不能起到作用。

小编一开始的失败代码

<view @click="scanQRCode">点击扫码</view><script>import com from '@/static/js/com.js';export default {data() {return {}},onload(){},methods: {// 扫码签到scanQRCode(){com.jweixin.scanQRCode({needResult: 1,// 默认为0,扫描结果由微信处理,1则直接返回扫描结果,// 可以指定扫二维码还是一维码,默认二者都有scanType: ["qrCode", "barCode"],success: function(res) {//但是这里却不会打印出数据console.log(res);if (res.errMsg == 'scanQRCode:ok') {console.log('扫码结果:',res.resultStr);}},fail:function(err){//即使这个也不会弹出提示框alert(JSON.stringify(err))}});}}}</script>

小编找了度娘,博客等等,都没有可以解决微信jweixin.js在iframe子页面中直接签名验证使用的。
综上,如果我们使用uniapp开发的项目没有直接作为服务器前端的入口文件,是使用iframe引用的,那么在uniapp页面中是无法直接使用微信jweixin.js,那么你想要调用微信支付,微信扫码等微信功能,那么都是实现不了的;只可以在父页面先签名验证了,子页面中再直接调用父页面的方法,才可以实现。
以上是小编的一个解决方案,如果小伙伴们还有什么好的方法请在下方评论,告知一下小编哦!

uniapp——开发微信H5调用jweixin微信js-sdk(uniapp开发H5使用微信扫一扫功能)相关推荐

  1. 【Golang】-微信二次分享及Js Sdk签名工具

    微信二次分享及Js Sdk签名工具 概述 功能 安装 使用 概述 在进行微信Js Sdk调用时,需要首先获取到签名,通过签名进行授权以及接口调用,wxsign使用Golang编写,完成签名授权验证. ...

  2. 微信群控SCRM客服系统SDK定制开发教程

    微信群控SCRM客服系统SDK定制开发教程!出自秋天不穿秋裤,天冷也要风度的程序猿之手,必属精品! 今天给大家介绍如何使用聚播群控sdk(微信二次开发SDK)快速开发一个群控客服系统!使用此SDK也可 ...

  3. (一)Qt+OpenCV调用海康工业相机SDK示例开发

    系列文章目录 提示:这里是该系列文章的所有文章的目录 第一章: (一)Qt+OpenCV调用海康工业相机SDK示例开发 第二章: (二)Qt多线程实现海康工业相机图像实时采集 文章目录 系列文章目录 ...

  4. 【微信分享】 微信分享集成 使用weixin js sdk 兼容 旧版本 2

    之前有写过一份 微信分享集成 的文章, 这次进行了重新的整理, 具体的功能有: 1.分享到朋友圈(图+一句话) 2.分享到朋友(图+标题+一句话) 3.强制显示or隐藏 右上角更多按钮 4.强制关闭当 ...

  5. 蚂蚁区块链BaaS平台应用开发指南(五):JS SDK的接入

    基于JavaScript SDK的接入 在上一节中,我们通过JavaSDK接入了我们的目标链并调用合约成功.在本节中,我们将通过JS SDK实现同样的调用.JS SDK可以集成在Web应用中,运行在浏 ...

  6. 内置h5 调用safari系统浏览器打开_开发教我做设计:移动端H5页面中的橡皮筋效果...

    什么是橡皮筋效果(Over Scroll)? 在浏览被H5与iOS客户端混合编程的页面时,由于Safari浏览器的特性,当H5页面滑动到页面顶部.页面底部的位置时,继续下拉/上拉H5网页会出现&quo ...

  7. android ios能否用cocos2d js开发,cocos2d-x支持c++、js、lua开发

    作者:左文 链接:https://www.zhihu.com/question/21130385/answer/21789568 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...

  8. JS高级前端开发群加群说明

    http://www.cnblogs.com/jikey/p/4426105.html JS高级前端开发群加群说明 一.文章背景: 二. 高级群: 三. 加入方式: 四. 说明: 一.文章背景: 去年 ...

  9. cocos2d-x支持c++、js、lua开发

    为什么80%的码农都做不了架构师?>>>    作者:左文 链接:https://www.zhihu.com/question/21130385/answer/21789568 来源 ...

最新文章

  1. 利用计算机漏洞犯罪,利用漏洞非法谋利2000元怎么处罚
  2. 网页设计/移动开发学习资源推荐
  3. svn Error:Wrong committed revision number: -1。
  4. oracle的group by用法
  5. java chat_使用 Java 创建聊天客户端-1
  6. PLSQL Developer远程连接oracle数据库
  7. DiagnosticsTextBox:WinForms的日志窗口
  8. IAR中如何实时观察变量值
  9. Flutter框架基础
  10. (八)2005年我的第一次软件行业创业,烧掉30万、2年时间打水漂的惨痛教训
  11. win11小组件怎么卸载 windows11卸载小组件的步骤方法
  12. R语言︱R社区的简单解析(CRAN、CRAN Task View)
  13. python怎么运行yaml配置文件_python的技巧和方法你了解多少?
  14. 小、巧、快消息队列组件beanstalkd
  15. linux top 网络,Linux Top 详解
  16. Atitit 查找算法 艾提拉大总结 目录 1. 查找算法分类 1 1.1. 简单查找算法之折半查找、插值查找、斐波那契查找 1 1.2. 按照数据结构查找法分类 hash 表 1 2. 第8章查找
  17. Java项目案例之---定时器的使用
  18. 161212 笔记--无线传感网络中的MAC协议
  19. 魔兽三界血歌鸿蒙武器怎么合成,魔兽RPG剑域N3剧情攻略 特殊副本武器合成指南[多图]...
  20. 实验吧安全杂项WP(一)

热门文章

  1. 转:沃伦·本尼斯:领导者的七种境界
  2. 独家分享|中石化、伊利、宝洁三大行业巨头数字化实战秘笈
  3. DragonBone的帧动画在Unity中的使用,以及更换Armature的方法
  4. 赋能实体成区块链重中之重 供应链、溯源和数据等迎来政策红利期
  5. Alcatel-Lucent 7750 运营商认证设备在线用户数OID
  6. guetzli 测试
  7. JavaScript弹出对话框的三种方式-alert()-confirm()-prompt()
  8. 2017noip提高组初赛试卷
  9. Seve (Radio Edit) 音乐播放器 V 1.0
  10. 八.常用查询及关系的实现(二) 2021-03-08