Bladeren bron

app2.0 会议扫码签到

临城职教中职
杨晓琪 2 jaren geleden
bovenliggende
commit
628e598028
4 gewijzigde bestanden met toevoegingen van 95 en 33 verwijderingen
  1. +2
    -3
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/js/scanCodeFun.js
  2. +67
    -0
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/components/scanCode.vue
  3. +1
    -1
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/manifest.json
  4. +25
    -29
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/PersonnelManagement/MeetingSignInScan/list.vue

+ 2
- 3
Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/js/scanCodeFun.js Bestand weergeven

@@ -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)
}


+ 67
- 0
Learun.Framework.Ultimate V7/LearunApp-2.2.0/components/scanCode.vue Bestand weergeven

@@ -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
- 1
Learun.Framework.Ultimate V7/LearunApp-2.2.0/manifest.json Bestand weergeven

@@ -1,6 +1,6 @@
{
"name" : "智慧校园",
"appid" : "__UNI__3039520",
"appid" : "__UNI__0CE0195",
"description" : "智慧校园移动端",
"versionName" : "2.1.0",
"versionCode" : 20100,


+ 25
- 29
Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/PersonnelManagement/MeetingSignInScan/list.vue Bestand weergeven

@@ -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>

Laden…
Annuleren
Opslaan