@@ -1,4 +1,3 @@ | |||
import { conforms } from 'lodash'; | |||
import wx from './weixin-js-sdk.js'; | |||
export default { | |||
scanCodeFun() { | |||
@@ -24,9 +23,9 @@ export default { | |||
var result = res.resultStr; // 当 needResult 为 1 时,扫码返回的结果 | |||
var resultArr = result.split(','); // 扫描结果以逗号分割数组 | |||
var codeContent = resultArr[resultArr.length - 1]; // 获取数组最后一个元素,也就是最终的内容 | |||
resolve(result) | |||
resolve({result:codeContent}) | |||
}, | |||
fail: error => { | |||
fail: function (res) { | |||
this.TOAST("调用扫码失败") | |||
resolve(false) | |||
} | |||
@@ -0,0 +1,67 @@ | |||
<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> |
@@ -1,6 +1,6 @@ | |||
{ | |||
"name" : "智慧校园", | |||
"appid" : "__UNI__3039520", | |||
"appid" : "__UNI__0CE0195", | |||
"description" : "智慧校园移动端", | |||
"versionName" : "2.1.0", | |||
"versionCode" : 20100, | |||
@@ -1,50 +1,46 @@ | |||
<template> | |||
<view class="page"> | |||
<view class="btn" @click="tapScan"> 扫码 </view> | |||
<view class="btn scanCodeBtn" @click="tapScan">扫码签到</view> | |||
<scanCode ref="refScanCode"></scanCode> | |||
</view> | |||
</template> | |||
<script> | |||
import scanCodeFun from "@/common/js/scanCodeFun.js"; | |||
import scanCode from "@/components/scanCode.vue" | |||
export default { | |||
components:{scanCode}, | |||
data() { | |||
return {}; | |||
}, | |||
methods: { | |||
init() { | |||
let _this = this; | |||
scanCodeFun.scanCodeFun.call(_this).then((res) => { | |||
if (!res) return; | |||
var userInfo = this.GET_GLOBAL("loginUser"); | |||
var result = this.HTTP_GET( | |||
"learun/adms/PersonnelManagement/MeetingSignInRecord/scan", | |||
{ | |||
userid: userInfo.userId, | |||
meetid: res, | |||
}, | |||
"签到时出错" | |||
).then(res1=>{ | |||
this.TOAST(res1.result) | |||
setTimeout(()=>{ | |||
this.NAV_BACK() | |||
},1000) | |||
}) | |||
}); | |||
}, | |||
tapScan() { | |||
this.init(); | |||
this.$refs['refScanCode'].scanCode().then(res=>{ | |||
if (!res) return; | |||
var userInfo = this.GET_GLOBAL("loginUser"); | |||
var result = this.HTTP_GET( | |||
"learun/adms/PersonnelManagement/MeetingSignInRecord/scan", | |||
{ | |||
userid: userInfo.userId, | |||
meetid: res.result, | |||
}, | |||
"签到时出错" | |||
).then(res1=>{ | |||
this.TOAST(res1.result) | |||
}) | |||
}) | |||
}, | |||
}, | |||
mounted() { | |||
let _this = this; | |||
setTimeout(function () { | |||
_this.init(); | |||
}, 100); | |||
}, | |||
}; | |||
</script> | |||
<style lang="less" scoped> | |||
@import "~@/common/css/sidepage.less"; | |||
@import "~@/common/css/customlist.less"; | |||
.scanCodeBtn{ | |||
width: 120px; | |||
height: 120px; | |||
border-radius: 50%; | |||
line-height: 120px; | |||
margin-top: 180px; | |||
} | |||
</style> |