|
@@ -60,10 +60,11 @@
|
|
|
</template>
|
|
|
<script setup>
|
|
|
/*----------------------------------依赖引入-----------------------------------*/
|
|
|
+import config from "@/config";
|
|
|
import { onLoad, onShow, onReady, onHide, onLaunch, onUnload, onNavigationBarButtonTap, onPageScroll } from "@dcloudio/uni-app";
|
|
|
import { ref, reactive, computed, getCurrentInstance, toRefs, inject, nextTick, watch } from "vue";
|
|
|
/*----------------------------------接口引入-----------------------------------*/
|
|
|
-import { meetingApi, faceApi, signOnOut } from "./api.js";
|
|
|
+import { meetingApi, faceApi, signOnOut, control } from "./api.js";
|
|
|
/*----------------------------------组件引入-----------------------------------*/
|
|
|
/*----------------------------------store引入-----------------------------------*/
|
|
|
/*----------------------------------公共方法引入-----------------------------------*/
|
|
@@ -96,6 +97,7 @@ const state = reactive({
|
|
|
form: {
|
|
|
linkUrl: "",
|
|
|
port: "",
|
|
|
+ domain: undefined,
|
|
|
meetingId: undefined,
|
|
|
meetingName: undefined,
|
|
|
},
|
|
@@ -116,6 +118,7 @@ function init() {
|
|
|
|
|
|
var storage = uni.getStorageSync("storage_face");
|
|
|
if (storage) {
|
|
|
+ state.form.domain = storage.domain;
|
|
|
state.form.linkUrl = storage.linkUrl.indexOf(":") != -1 ? storage.linkUrl.split(":")[0] : storage.linkUrl;
|
|
|
state.form.port = storage.port ? storage.port : "";
|
|
|
state.form.meetingId = storage.meetingId || undefined;
|
|
@@ -133,25 +136,19 @@ function init() {
|
|
|
* @会议室下拉列表
|
|
|
*/
|
|
|
function getMeetingRoomList() {
|
|
|
- var domain = "";
|
|
|
- if (state.form.linkUrl) {
|
|
|
- domain = state.form.linkUrl;
|
|
|
- if (state.form.port) {
|
|
|
- domain += ":" + state.form.port;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
meetingApi()
|
|
|
.GetMeetingRoomList({
|
|
|
- domain: domain,
|
|
|
+ domain: state.form.domain,
|
|
|
})
|
|
|
.then((requset) => {
|
|
|
- requset.data.forEach((e) => {
|
|
|
- state.meetingRoomList.push({
|
|
|
- value: e.roomId,
|
|
|
- name: e.roomName,
|
|
|
+ if (requset.data.length > 0) {
|
|
|
+ requset.data.forEach((e) => {
|
|
|
+ state.meetingRoomList.push({
|
|
|
+ value: e.roomId,
|
|
|
+ name: e.roomName,
|
|
|
+ });
|
|
|
});
|
|
|
- });
|
|
|
+ }
|
|
|
});
|
|
|
}
|
|
|
|
|
@@ -159,6 +156,12 @@ function getMeetingRoomList() {
|
|
|
* @会议室详情列表
|
|
|
*/
|
|
|
function getMeetingRoomReservationList() {
|
|
|
+ state.meetingTimeList = [];
|
|
|
+ state.meetingReservaList.thisVenueData = [];
|
|
|
+ state.meetingReservaList.thisVenueTime = {};
|
|
|
+ state.meetingReservaList.nextSceneData = [];
|
|
|
+ state.meetingReservaList.nextSceneTime = {};
|
|
|
+
|
|
|
for (let i = 0; i <= 23.5; i += 0.5) {
|
|
|
var time = "";
|
|
|
if (i % 1 === 0.5) {
|
|
@@ -184,17 +187,9 @@ function getMeetingRoomReservationList() {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
- var domain = "";
|
|
|
- if (state.form.linkUrl) {
|
|
|
- domain = state.form.linkUrl;
|
|
|
- if (state.form.port) {
|
|
|
- domain += ":" + state.form.port;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
meetingApi()
|
|
|
.GetMeetingRoomReservationList({
|
|
|
- domain: domain,
|
|
|
+ domain: state.form.domain,
|
|
|
meetingRoomId: state.form.meetingId,
|
|
|
date: proxy.$dayjs().format("YYYY-MM-DD") + " 00:00:00",
|
|
|
})
|
|
@@ -226,7 +221,8 @@ function getMeetingRoomReservationList() {
|
|
|
data: JSON.stringify(state.meetingReservaList),
|
|
|
});
|
|
|
}
|
|
|
- });
|
|
|
+ })
|
|
|
+ .catch((err) => {});
|
|
|
}
|
|
|
|
|
|
// 显示时间段的函数
|
|
@@ -290,39 +286,70 @@ function showTimeSegments(times) {
|
|
|
*/
|
|
|
function faceVerify(imageBase) {
|
|
|
faceApi()
|
|
|
- .faceVef({ imageBase })
|
|
|
- .then((res) => {
|
|
|
- state.faceImgState = false;
|
|
|
- if (res.data.code === 200 || res.data.code === 201) {
|
|
|
- proxy.$modal.msg(res.data.msg);
|
|
|
-
|
|
|
- meetingApi()
|
|
|
- .Attendee({
|
|
|
- meetingId: state.thisVenueData[0].meetingId,
|
|
|
- userId: res.data.userId,
|
|
|
- name: res.data.faceName,
|
|
|
- })
|
|
|
- .then((res1) => {
|
|
|
- if (res1.data.status == "1") {
|
|
|
- proxy.$modal.msg(res1.data.msg);
|
|
|
- state.msg = `[${res.data.faceName}] ${res1.data.msg}`;
|
|
|
-
|
|
|
- signOnOut({
|
|
|
- meetingId: state.thisVenueData[0].meetingId,
|
|
|
- userId: res.data.userId, //参会人Id
|
|
|
- mothodType: 0, //签到签退类别(0.签到 1.签退)
|
|
|
- signType: 1, //签到签退方式(0.人工 1.人脸)
|
|
|
- }).then((res) => {});
|
|
|
- } else {
|
|
|
- proxy.$modal.msg(res1.data.msg);
|
|
|
- }
|
|
|
- });
|
|
|
+ .faceVef({
|
|
|
+ domain: state.form.domain,
|
|
|
+ imageBase: imageBase,
|
|
|
+ })
|
|
|
+ .then((item) => {
|
|
|
+ if (item.data.code === 200 || item.data.code === 201) {
|
|
|
+ proxy.$modal.msg(item.data.msg);
|
|
|
+
|
|
|
+ if (state.meetingReservaList.thisVenueData.length > 0) {
|
|
|
+ meetingVerify(item);
|
|
|
+ } else {
|
|
|
+ openDoor();
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ proxy.$modal.msg(item.data.msg);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch((err) => {});
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * @会议验证
|
|
|
+ */
|
|
|
+function meetingVerify(item) {
|
|
|
+ meetingApi()
|
|
|
+ .Attendee({
|
|
|
+ domain: state.form.domain,
|
|
|
+ meetingId: state.meetingReservaList.thisVenueData[0].meetingId,
|
|
|
+ userId: item.data.userId,
|
|
|
+ userName: item.data.faceName,
|
|
|
+ })
|
|
|
+ .then((item1) => {
|
|
|
+ if (item1.data.status == "1") {
|
|
|
+ proxy.$modal.msg(item1.data.msg);
|
|
|
+ state.msg = `[${item.data.faceName}] ${item1.data.msg}`;
|
|
|
+
|
|
|
+ openDoor();
|
|
|
+
|
|
|
+ signOnOut({
|
|
|
+ domain: state.form.domain,
|
|
|
+ meetingId: state.meetingReservaList.thisVenueData[0].meetingId,
|
|
|
+ userId: item.data.userId, //参会人Id
|
|
|
+ mothodType: 0, //签到签退类别(0.签到 1.签退)
|
|
|
+ signType: 1, //签到签退方式(0.人工 1.人脸)
|
|
|
+ }).then((item2) => {});
|
|
|
} else {
|
|
|
- proxy.$modal.msg(res.data.msg);
|
|
|
+ proxy.$modal.msg(item1.data.msg);
|
|
|
}
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * @门禁开门
|
|
|
+ */
|
|
|
+function openDoor() {
|
|
|
+ control({
|
|
|
+ domain: state.form.domain,
|
|
|
+ commandStr: JSON.stringify({ method: "control", params: { device_id: "223212768", command: 2 } }),
|
|
|
+ })
|
|
|
+ .then((item2) => {
|
|
|
+ proxy.$modal.msg("开门成功");
|
|
|
})
|
|
|
.catch((err) => {
|
|
|
- state.faceImgState = false;
|
|
|
+ console.log(err);
|
|
|
});
|
|
|
}
|
|
|
|
|
@@ -346,8 +373,8 @@ function modalConfirm() {
|
|
|
}
|
|
|
|
|
|
uni.setStorageSync("storage_face", state.form);
|
|
|
- getMeetingRoomReservationList();
|
|
|
state.modal.show = false;
|
|
|
+ getMeetingRoomReservationList();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -446,6 +473,16 @@ watch(
|
|
|
if (!/^[a-zA-Z0-9][a-zA-Z0-9-]{1,61}(?:\.[a-zA-Z0-9]{2,})+$/.test(state.form.linkUrl)) {
|
|
|
return;
|
|
|
}
|
|
|
+
|
|
|
+ var domain = "";
|
|
|
+ if (state.form.linkUrl) {
|
|
|
+ domain = state.form.linkUrl;
|
|
|
+ if (state.form.port) {
|
|
|
+ domain += ":" + state.form.port;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ state.form.domain = domain;
|
|
|
+ config.baseUrl = "http://" + state.form.domain + "/prod-api";
|
|
|
getMeetingRoomList();
|
|
|
}
|
|
|
);
|