企业微信调用扫一扫接口
点击修改,设置打开该应用跳转的网页(该网页所属项目需要部署到服务器,url地址应为测试服或正式服地址)
2.点击如图红框位置,启用网页授权及JS-SDK(图示是已经启用过的)
图 3-1
图 3-2
按照提示操作,先下载密钥文件,将文件放在代码入口文件的平级(后端同学将代码部署到服务器可能跟前端入口文件不太一样,可以将文件发给后端同学,让他放在入口文件平级的地方),放好之后测试一下是否可以访问,访问域名地址+文件名(图 3-4),可以访问则将最后一条勾选,点击确认。
图 3-3
图 3-4
显示已验证,则启用成功:
官方文档:
4.1 引入JS文件:
在需要调用JS接口的页面引入如下JS文件,(支持https):
4.2 通过config接口注入权限验证配置
这几个必填的参数需要从后端的接口获取,appId从管理员获取(是唯一的)
生成签名的算法:(可以在后端处理,也可以让后端返回jsapi_ticket,timestamp和nonceStr来自己根据算法生成签名)建议后端处理好直接生成签名和这些参数一起返回到前端。
4.3 通过ready接口处理成功验证
wx.ready(function(){
// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
});
4.4 通过error接口处理失败验证
wx.error(function(res){
// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
});
4.5 调用成功也会有弹窗的问题
官方文档最下边有这样的提示:
以上几个函数都带有一个参数,类型为对象,其中除了每个接口本身返回的数据之外,还有一个通用属性err_msg,其值格式如下:
- 调用成功时:"xxx:ok" ,其中xxx为调用的接口名
- 用户取消时:"xxx:cancel",其中xxx为调用的接口名
- 调用失败时:其值为具体错误信息
也就是说,调用成功与失败都会返回一个err_msg的属性,在手机端会作为弹窗弹出,因此在确保调用成功之后可以将config中的debug设为false。
直接使用接口代码即可:
6.整体代码:(我直接使用wx报错,网上搜索导入包依然报错,因此我使用的window.wx)
6.1 <template>模板内的内容:
放了一个按钮,点击按钮触发scanCode方法,在方法内部进行调用操作
<template>
<el-button type="danger" @click="scanCode">el-button</el-button>
</div>
</template>
6.2 js部分:(注意看注释)
6.3 index.js中的内容(定义接口方法):
