调用企业微信扫一扫功能流程记录

企业微信官方API

步骤一:引入JS文件

<script src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>

步骤二:通过config接口注入权限验证配置

	// 使用微信内置API都需要进入校验操作
	wx.config({
    	beta: true,// 必须这么写,否则wx.invoke调用形式的jsapi会有问题
   	 	debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
    	appId: '', // 必填,企业微信的corpID
    	timestamp: , // 必填,生成签名的时间戳
    	nonceStr: '', // 必填,生成签名的随机串
    	signature: '',// 必填,签名,见 附录-JS-SDK使用权限签名算法
    	jsApiList: [] // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
	});

调用config API获取加密签名需要加密加密规则详见官方文档

官方文档

url(当前网页的URL, 不包含#及其后面部分)只去除#后内容最后一个/不能去除,以下为错误实例,去除后验权失败

const link = location.href.split('#')[0]
const url = link.substring(0, link.length - 1)

jsapi_ticket的有效期为7200秒,通过access_token来获取。由于获取jsapi_ticket的api调用次数非常有限(一小时内,一个企业最多可获取400次,且单个应用不能超过100次),频繁刷新jsapi_ticket会导致api调用受限,影响自身业务,开发者必须在自己的服务全局缓存jsapi_ticket。

步骤三:通过ready接口处理成功验证

	wx.ready(function(){
    	// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客	户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
	});

步骤四:通过error接口处理失败验证

	wx.error(function(res){
    	// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
	});

错误信息可以通过 官方错误查询工具 查询

步骤五:调用微信API

wx.scanQRCode({
    desc: 'scanQRCode desc',
    needResult: 0, // 默认为0,扫描结果由企业微信处理,1则直接返回扫描结果,
    scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是条形码(一维码),默认二者都有
    success: function(res) {
        // resultStr为JOSN类型
		var result = res.resultStr;//当needResult为1时返回处理结果
    },
    error: function(res) {
        if (res.errMsg.indexOf('function_not_exist') > 0) {
            alert('版本过低请升级')
        }
    }
});
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值