<template>
	<view></view>
</template>
<script>
	import wx from '@/common/js/weixin-js-sdk.js';
	export default {
		name:"scanCode",
		props:{},
		data() {
			return {
				scanCodeReady:false,
			};
		},
		mounted() {
			this.setConfig()
		},
		methods: {
			setConfig() {
				const promise = new Promise((resolve, reject) => {
					this.HTTP_GET("weixinapi/getweixinwebaccess_token?url=" + encodeURIComponent(window.location.href)).then((success)=>{
						if(!success){
							resolve(false)
							return
						}
						wx.config({
						    debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
						    appId: success.appid, // 必填，公众号的唯一标识
						    timestamp: success.timestamp, // 必填，生成签名的时间戳
						    nonceStr: success.noncestr, // 必填，生成签名的随机串
						    signature: success.certificate, // 必填，签名
						    jsApiList: ["scanQRCode"] // 必填，需要使用的JS接口列表
						});
						wx.ready(() => {
							this.scanCodeReady = true
						})
					})
				})
				return promise
			},
			scanCode(){
				return new Promise((resolve)=>{
					if(!this.scanCodeReady){
						resolve(false)
					}
					wx.scanQRCode({
						needResult: 1, // 默认为0，扫描结果由微信处理，1则直接返回扫描结果，
						scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是一维码，默认二者都有
						success: function (res) {
						  var result = res.resultStr; // 当 needResult 为 1 时，扫码返回的结果
						  var resultArr = result.split(','); // 扫描结果以逗号分割数组
						  var codeContent = resultArr[resultArr.length - 1]; // 获取数组最后一个元素，也就是最终的内容
						  resolve({result:codeContent})
						},
						fail: function (res) {
						  this.TOAST("调用扫码失败")
						  resolve(false)
						}
					});
				})
			}
		},
	}
</script>

<style>

</style>