范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

手把手教你调用微信扫一扫!三分钟包会

  这是我第一次公众号开发,本以为看着微信官方文档直接复制粘贴就好了,没想到是我天真了,爬过一个坑又入一个坑!就这么一个简单的事,竟然搞了一下午,所以写了这篇文章,希望可以帮到大家!
  第一步:引入 weixin-js-sdk方式1:静态 html 引入
  直接在 html 文件内,使用 script 引入:方式二:vue 单页面// 可以在主入口文件 index.html 内引入  // 使用页面通过 window.wx 方式访问 wx 模块
  或者// 安装 npm install weixin-js-sdk   //引入 import wx from "weixin-js-sdk"
  第二步:权限验证配置wx.config({   debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。   appId: "xxxx", // 必填,公众号的唯一标识   timestamp: "xx", // 必填,生成签名的时间戳   nonceStr: "xx", // 必填,生成签名的随机串   signature: "xx",// 必填,签名   jsApiList: ["scanQRCode"] // 必填,需要使用的JS接口列表 });
  timestamp,nonceStr,signature 重要信息请根据自己的公众号信息去获取。需要注意的是 debug 调试的时候,设置为 true ,会自动弹出配置成功或失败信息,调试时可以借助它。
  第三步:调用扫一扫接口
  我们在需要的按钮处,点击事件处开始调用扫码接口,如:scaneMethod() {  var ua = navigator.userAgent.toLowerCase()  var isWeixin = ua.indexOf("micromessenger") !== -1  if (!isWeixin) {   alert("请用微信打开连接,才可使用扫一扫")  }  window.wx.scanQRCode({  needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,  scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是一维码,默认二者都有  success: function (res) {  // 扫码成功,跳转到二维码指定页面(res.resultStr为扫码返回的结果)  //  location.href = res.resultStr;   var scan = res.resultStr   alert(scan)   }  },  error: function (res) {   if (res.errMsg.indexOf("function_not_exist") > 0) {    alert("当前版本过低,请进行升级")    }   },  }) }
  做了一个判断处理,检查只有微信浏览器,其他浏览器不可以调用:var isWeixin = ua.indexOf("micromessenger") !== -1  if (!isWeixin) {   alert("请用微信打开连接,才可使用扫一扫")  }
  第四步:真机测试
  先声明一下,我的项目是 vue 单页面。
  真机测试的时候,一直在提示:
  errMsg:config:invalid signature
  中文叫做签名无效。
  查找原因是因为我的签名获取来和官方 微信 js 接口签名校验工具获取来的数据不一样,很明显获取的签名有问题,是因为我的 url 配置和前端调起接口的 url 不一致造成的。
  第五步:苹果手机测试
  苹果手机真机测试,提示错误信息为:
  the permission value is offline verifying
  翻译为中文:权限值正在脱机验证
  这个错误原因是 config 没有正确执行。
  又继续去检查签名的问题,最后发现是后台接口字段写错了,欲哭无泪,总之还是签名信息错误。
  第六步:安卓正常,苹果点击无反应
  用安卓测试的时候,竟然好了,完美展示扫码结果,以为要好了。使用 ios 测试的时候,竟然发现点击的时候没有任何反应。
  找了半天原因,是因为 window.location.href 不同造成的。alert(window.location.href)
  测试结果:
  安卓:https://hp.******.net/
  IOS:https://hp.******.net//
  IOS 手机就是因为 url 与签名配置处的 url 不同,所以导致 config 执行失败。究其原因是因为我的 vue-router 是 hash 模式。
  解决方案:把我的 hash 模式换成 history 模式。记得后台也需要配置 nginx 。
  第七步:IOS 扫码无反应
  当 IOS 能调起接口的那一刻,我以为要成功了,哪知道它就是要与 安卓 与众不同,扫码之后没有任何反应,但是如果你快速地连续多扫几次就会出现结果。
  你就说要命不?网上查找了半天,看见有的人说有延时,最后想干脆加个延时算了。let isAndriod = ua.indexOf("andriod") !== -1 window.wx.scanQRCode({  needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,  scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是一维码,默认二者都有  success: function (res) {   // 扫码成功,跳转到二维码指定页面(res.resultStr为扫码返回的结果)   //  location.href = res.resultStr;   var scan = res.resultStr   if (isAndriod) {    _this.$router.push({ path: "/exam_car", query: { id: scan } })   } else {    setTimeout(() => {     _this.$router.push({ path: "/exam_car", query: { id: scan } })     }, 500)    }   },   error: function (res) {    if (res.errMsg.indexOf("function_not_exist") > 0) {     alert("当前版本过低,请进行升级")    }   }, })
  果然加了延时之后就好了。
  第八步:扫码结果处理
  可能存在问题:
  1、iOS设备扫码正常,Android设备扫码后没反应
  2、Android设备扫码正常,iOS设备扫码后没反应
  原因 :微信开发文档并没有说清楚,其实在微信后台可能是维护了2个接口, 或者是对设备类型进行了区别,总之在 回调函数中返回的结果封装对象并不是同一个, 所以这要求我们也进行相应的处理, 不然就会出现上面这种默认奇妙的问题。
  IOS 返回结果:{  err_Info: "success",  resaultStr: "XX",  errMsg: "scanQRCode:ok"   }
  Android 结果:{  resaultStr: "XX",  errMsg: "scanQRCode:ok"   }
  第九步:修改路由
  本以为 苹果安卓手机都能够正常扫码,没问题了。但是领导换需求了,之前是扫码放到外边,可以匿名扫。现在要修改成登录之后才可以扫码。
  我就把路由修改了一下,先在登录页登录成功之后,再进入扫码页,后台也同步修改了 url 地址,修改完测试发现:
  安卓的一切正常。
  苹果手机坏了!
  奔溃了,看看错误提示:noPermissionJsApi:[],errMsg:"config:ok"。
  确定之后有一个错误提示。
  errMsg:scanQRCode:the perssion value is offline verifying
  一顿百度猛如虎,半天原地打转转!
  有前边一次经验教训,我就又去找地址的原因。最后发现是竟然 $router.push 的跳转影响了我的 url ,在 IOS 上的 push 跳转不能写入浏览器的地址栏,但是安卓可以,导致安卓和 ios 跳转之后的地址不同,所以 ios 失败了。
  解决办法:$router.push("/i")  //修改成了  window.location = window.location.protocol + "//" + window.location.host + "/i"
  此时就正常运行了。这下满足项目要求了,不会再出什么幺蛾子了!
  微信官方开发文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#4

跨境电商一片火热,亚马逊运营人才缺口巨大前些天,在一个群里看到了杭州区域重新规划的消息。因为我本人在杭州呆了很多年,对那个地方感情颇深。杭州区域重新规划其实一年多以前就完成了,将原来的大江东和下沙合并为新的钱塘区。新区如亚马逊代运营公司如何提升新店铺销量做亚马逊这么多年,经常会有品牌找我们代运营,这其中有不少人上来就问你们可以给我们保证多少销售额?这些人大多不太了解亚马逊,甚至不太了解电商。起初,扫地僧会一一解答这些问题,后来咨询2021年iPadPro与2020年2018年iPad相比Pro对比一年来,对于那些在家工作或学习的人来说,iPad变得比以往任何时候都重要。苹果公司(Apple)发布了最新一代的iPadPro系列产品。更新后的硬件包括11英寸和12。9英寸两种尺Mac运行缓慢吗?提升苹果电脑速度的几个小技巧众所周知,随着时间的流逝,包括Mac在内的所有计算机的速度都会降低。除了换电脑,还是有许多简单的调整可以提高计算机的性能并加快运行速度较慢的Mac,而且这些调整不会花费一分钱。1。带有TouchID的MagicKeyboard规格介绍除了新的24英寸iMac之外,Apple还推出了新键盘具有TouchID的MagicKeyboard。这项功能已经在Apple的笔记本电脑上使用了几年,但是这是第一次有可能使用外部macmini和imac对比及选购建议如果您正在寻找台式机Mac,那么在Apple系列中有两个显而易见的选择iMac和Macmini。在本文中,我们将比较它们的功能,规格和价格,并帮助您确定哪种是您的正确选择。比较iM网传iPhone13刘海真的缩小了iPhone12以来,一直就有传言声称Apple会缩小iPhone上的TrueDepthCamera缺口的尺寸。在之前就有流出一张iPhone13浏海变小的照片,现在又有谣传照流出工厂找亚马逊代运营公司,有多少是盈利的?真相很残酷你们做亚马逊的目的是什么?每次在回答亚马逊代运营相关问题之前,我都会跟工厂确认一边,你们做亚马逊的初衷是什么,希望品牌出海,还是拓展电商渠道,亦或是为了赚钱。以上3点,主要有一条做2021年亚马逊封店的原因,或不仅仅是因为刷单在文章开始前,还是想先回顾2021年上半年。亚马逊卖家的心情可谓是过山车一样,忽高忽下,是不是还来一波惊险刺激。从第一季度的新卖家疯狂涌向亚马逊跨境电商,亚马逊全球开店每个月新增几面对亚马逊封号,中国卖家应该如何破局?中国亚马逊卖家被疯狂封号,该怎么办?要解决这个问题,我们要先分析一下,中国亚马逊卖家被疯狂封号的具体原因,针对这个问题我们对症下药,再能将降低封号的概率,减少封号带来的损失。第一,找亚马逊代运营公司做了近半年,销售总额为何不到3万美金?前两天,有个企业老板跟我诉苦,称找了杭州某亚马逊代运营公司,做了近半年时间,总的销售额还不到3万美金,这种情况应该如何应对?对于这种情况,扫地僧不想多说怎么应对,更乐意跟大家分享一
Activity的几种启动模式一。先理解栈的概念(放置Activity实例的容器)1。Task(线性表)任务栈Task,用来放置Activity实例的容器,先进后出,主要有2个基本操作压栈和出栈,其所存放的Ac干货!电子商务商环境下的市场营销论文探讨电商环境下的市场营销探讨摘要互联网特别是以智能手机为代表的移动互联网,推动着电子商务日臻成熟,这对于企业的营销管理是一次挑战,更是一次机遇。传统的市场营销模式必须创新,促进企业市场字节跳动投资药物研发公司e公司讯,天眼查App显示,近日,水木未来(北京)科技有限公司发生工商变更,新增股东北京量子跃动科技有限公司(字节跳动关联公司)等,企业注册资本增至约94。56万人民币。水木未来(SpringBoot项目集成FTP写在前面FTP是一个文件传输协议,被开发人员广泛用于在互联网中文件传输的一套标准协议。而我们通常在开发过程中也要通过FTP来搭建文件系统,用于存储系统文件等。目前正值SpringB爱运动爱国潮魔浪耳机,双十一最值得买的耳机年轻人耳机怎么选?魔浪s耳机肯定是个不错的选择。为什么这么说,不仅是因为外观酷炫,而且功能和佩戴体验都很适合爱运动的我们,我们一起来看看吧。魔浪s的外包装正面有凸起的自母和产品渲染A股网络游戏第一股中青宝光环不再本报记者陈溢波吴可仲北京报道在A股,有这样一家游戏公司,它和实控人一度赚足了市场的眼球。2013年手游并购概念2018年区块链概念2021年元宇宙概念大火的时候,这家公司也都有所染苹果电池之争近期,国内两家锂电池巨头分别拒绝了苹果公司要他们在美国本土建设电池厂的要求。苹果公司在不折不扣地执行美国政府制定的让高端制造业回归美国的政策,要让智能产品各个关键部件的全产业链美国工业4。0驱动制造业创新的技术趋势工业目前正在经历一个被称为第四次工业革命(或工业4。0)的变革时期。以前的工业革命给我们带来了机械电力和计算机。随着我们进入智能互联机器和智能自动化的时代,第四次工业革命正在形成比中国5G手机推广为什么效果不明显?中国5G技术在世界是领先的,这点毋庸置疑。现在国家正在花大力气建设5G基站,已经有相当的效果。5G终端产品随处可见,5G手机现在也非常便宜,大家都买得起,可是在现实生活中用5G网络松鼠Ai完成新一轮融资,携手国家队深度布局教育信息化据悉,松鼠Ai在10月又完成了一轮融资,并且投资款已经全部到账。这是松鼠Ai在7月份完成了SIG中信证券和NGP的一轮融资后仅仅三个月又完成的新一轮融资,尤其值得注意的是,这一轮的手机处理器哪一种运行最快?这个你没有纠结的必要,因为这个本身就没多大的实际意义,手机运行流畅即可,何苦比较孰优孰劣。不过你既然问了,科普一下也无妨的。那么说到处理器,眼下最常见的就四种,苹果的A系列,华为的