12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- // ==UserScript==
- // @name T-明略-会议室预定
- // @namespace Violentmonkey Scripts
- // @match https://www.jianjian.work/hysPC/*
- // @match https://www.jianjian.work/index.html
- // @match https://www.jianjian.work/pcgroup/purchase.html*
- // @grant none
- // @version 1.0
- // @author -
- // @require https://cdnjs.cloudflare.com/ajax/libs/axios/0.18.0/axios.min.js
- // @require https://cdn.bootcdn.net/ajax/libs/lodash.js/4.17.21/lodash.min.js
- // @description 2021/8/19 上午10:55:46
- // ==/UserScript==
- function isInter(arr1, arr2) {
- return !(arr2[1] < arr1[0] || arr2[0] > arr1[1]);
- }
- function isAnyInter(arr1, arr2) {
- for (let arr1Element of arr1) {
- if (isInter(arr1Element, arr2)) {
- return true
- }
- }
- return false
- }
- (function () {
- let date = '2021-12-15'
- let startTime = 10; // 几点
- let hours = 1; // 持续几个小时
- startTime = startTime * 12
- let endTime = startTime + hours * 12
- let capacityMin = 4; // 会议室容纳人数最少多少
- let capacityMax = 20; // 会议室容纳人数最多多少
- console.log("欢迎进入北京明略会议室预定");
- if (location.href.startsWith("https://www.jianjian.work/index.html")) {
- document.querySelector(".login_btn").click();
- }
- if (location.href.startsWith("https://www.jianjian.work/pcgroup/purchase.html")) {
- location.href = "https://www.jianjian.work/hysPC/index.html#/index/home";
- }
- if (location.href.startsWith("https://www.jianjian.work/hysPC/")) {
- // 获取会议室
- let roomUrl = "https://www.jianjian.work/room/base?_=1629341394435";
- axios.get(roomUrl)
- .then(res => {
- res = res.data;
- if (!res.success) {
- console.log("获取会议室列表异常");
- return
- }
- let states = res.model[88085];
- // console.table(states);
- _.forEach(states, room => {
- let roomId = room.id;
- // console.log(`正在查询${roomName}`);
- let url = `https://www.jianjian.work/building/${roomId}/rooms?date=${date}&startDate=&endDate=&_=1629339983635`;
- axios.get(url)
- .then(res => {
- res = res.data;
- if (!res.success || res.model.rooms.length === 0) {
- return
- }
- let room2 = res.model.rooms;
- for (const room2Key of room2) {
- if (room2Key.capacity < capacityMin || room2Key.capacity > capacityMax || room2Key.closeInfo != null) {
- continue
- }
- let events = room2Key.events;
- if (room2Key.name.startsWith("A")) {
- continue
- }
- let arr_all = []
- for (const eventsKey of events) {
- arr_all.push([parseInt(eventsKey.durationNew[0]), parseInt(eventsKey.durationNew[1])])
- }
- if (!isAnyInter(arr_all, [startTime + 1, endTime - 1])) {
- console.log(`!!!已找到:${room2Key.name};容纳:${room2Key.capacity}人;标签:${room2Key.tools}`);
- }
- }
- })
- })
- })
- }
- })();
|