Browse Source

app2.0 扫码签到

怀来职教中心中职
CAO_RENXING\19348 1 year ago
parent
commit
455fd66b5d
1 changed files with 19 additions and 9 deletions
  1. +19
    -9
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/components/scanCode.vue

+ 19
- 9
Learun.Framework.Ultimate V7/LearunApp-2.2.0/components/scanCode.vue View File

@@ -8,7 +8,7 @@
props:{},
data() {
return {
scanCodeReady:false,
wxObject:null,
};
},
mounted() {
@@ -17,12 +17,15 @@
methods: {
setConfig() {
const promise = new Promise((resolve, reject) => {
this.HTTP_GET("weixinapi/getweixinwebaccess_token?url=" + encodeURIComponent(window.location.href)).then((success)=>{
// let url = window.location.href
let url = /(Android)/i.test(navigator.userAgent) ? location.href.split('#')[0] : window.localStorage.getItem('scanUrl')
this.HTTP_GET("weixinapi/getweixinwebaccess_token?url=" + encodeURIComponent(url)).then((success)=>{
if(!success){
resolve(false)
return
}
wx.config({
this.wxObject = wx
this.wxObject.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: success.appid, // 必填,公众号的唯一标识
timestamp: success.timestamp, // 必填,生成签名的时间戳
@@ -30,8 +33,11 @@
signature: success.certificate, // 必填,签名
jsApiList: ["scanQRCode"] // 必填,需要使用的JS接口列表
});
wx.ready(() => {
this.scanCodeReady = true
this.wxObject.ready(() => {
this.TOAST("扫码初始化成功")
})
this.wxObject.error(() => {
this.TOAST("扫码初始化失败")
})
})
})
@@ -39,19 +45,23 @@
},
scanCode(){
return new Promise((resolve)=>{
if(!this.scanCodeReady){
if(!this.wxObject||!this.wxObject.scanQRCode){
this.TOAST("无效方法")
resolve(false)
}else{
this.TOAST("正在调用扫码...")
}
wx.scanQRCode({
this.wxObject.scanQRCode({
needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是一维码,默认二者都有
success: function (res) {
success: (res) => {
this.TOAST("方法调用成功")
var result = res.resultStr; // 当 needResult 为 1 时,扫码返回的结果
var resultArr = result.split(','); // 扫描结果以逗号分割数组
var codeContent = resultArr[resultArr.length - 1]; // 获取数组最后一个元素,也就是最终的内容
resolve({result:codeContent})
},
fail: function (res) {
fail: (res) =>{
this.TOAST("调用扫码失败")
resolve(false)
}


Loading…
Cancel
Save