lib002

version 2.0

此脚本不应直接安装,它是一个供其他脚本使用的外部库。如果您需要使用该库,请在脚本元属性加入:// @require https://update.cn-greasyfork.org/scripts/480089/1281811/lib002.js

  1. // @version 2.0
  2. var run=function() {
  3. 'use strict';
  4. alert(999)
  5. //测试版本测试版本测试版本测试版本测试版本测试版本测试版本测试版本测试版本
  6. //测试版本测试版本测试版本测试版本测试版本测试版本测试版本
  7. var replce=function(){
  8. document.querySelector("body > div.app.has-head.has-banner.ng-scope > div.app-head > ul:nth-child(2)").style="height: 3rem;"
  9.  
  10. var my_html=`
  11. <li class="col v-t" style="width:auto; padding-left: 5px;">
  12. <a class="btn btn-opatiy btn-conner has-icon c-b" style="width: 100%;text-align: center" ng-show="buildingReservationType!=1" ng-click="subscribeDay();" onclick="window.extendDay();" href="javaScript:void(0);"><img align="absmiddle" src="img/ion-clock.png">我要预约</a>
  13. <a class="btn btn-opatiy btn-conner has-icon c-b ng-hide" style="width: 100%;text-align: center" ng-show="buildingReservationType==1" ng-click="reservationShow();" href="javaScript:void(0);"><img align="absmiddle" src="img/ion-clock.png">我要预约</a>
  14. </li>
  15. <li class="col t-r v-t" style="padding-left: 5px;">
  16. <a class="btn btn-opatiy btn-conner has-icon c-b" style="width: 100%;text-align: center" ng-show="buildingReservationType!=0&amp;&amp;campusId!=58" ng-click="SweepCode();" onclick="window.myCheckIn();" href="javaScript:void(0);"><img align="absmiddle" src="img/take-code.png">扫码就坐</a>
  17. </li>
  18.  
  19. `
  20. var dom=document.createElement('ul');
  21. dom.className="row"
  22. dom.style="height: 6rem;"
  23. dom.innerHTML=my_html
  24. document.querySelector("body > div.app.has-head.has-banner.ng-scope > div.app-head").appendChild(dom)
  25.  
  26. //删除原有标签
  27. document.querySelector("body > div.app.has-head.has-banner.ng-scope > div.app-head > ul:nth-child(2)").remove()
  28.  
  29. }
  30. if(document.querySelector("body > div.app.has-head.has-banner.ng-scope > div.app-head > ul:nth-child(2) > li:nth-child(1) > a:nth-child(1)").getAttribute("onclick")==null){
  31. replce()
  32. }
  33. //公共方法
  34. function diffDay(lastDate,earlyDate){
  35. var startDate = new Date(new Date(earlyDate).Format("yyyy-MM-dd"));
  36. var endDate = new Date(new Date(lastDate).Format("yyyy-MM-dd"));
  37.  
  38. if (startDate>endDate){
  39. return 0;
  40. }
  41. if (startDate==endDate){
  42. return 0;
  43. }
  44. var days=(endDate - startDate)/1000/60/60/24;
  45. return days;
  46. }
  47. //签到模块
  48. window.myCheckIn=function (){
  49. var Reservation=window.Api.selectReservationByUser()
  50. //alert(JSON.stringify(Reservation))
  51. //alert('"false"')
  52. if(Reservation.success==false){
  53. alert("没有预约请先预约再签到")
  54. }else{
  55. for (let index = 0; index < Reservation.list.length; index++) {
  56. var tmp_time_timeDay=Reservation.list[index].time
  57. console.log(Reservation.list[index].time)
  58. if(diffDay((new Date(tmp_time_timeDay.split(" - ")[0])).Format("yyyy-MM-dd"),new Date())==0){
  59. //console.log(Reservation.list[index].time)
  60. var tmp_reseveation=Reservation.list[index]
  61. if(tmp_reseveation.notArrive==1){
  62. var Reservation_seatId=tmp_reseveation.seatId
  63. var result_json=window.Api.checkInSeat(Reservation_seatId)
  64. var OUT_TEXT=JSON.stringify(result_json.success)+"\t"+
  65. JSON.stringify(result_json.message)
  66. var tag=1
  67. if(result_json.message=='0') {
  68. OUT_TEXT="签到时间未到"
  69. alert(OUT_TEXT)
  70. //+OUT_TEXT
  71. }else if(result_json.message=='3') {
  72. OUT_TEXT="重复签到如果有多个预约在同一天请预约到一个时间段"
  73. alert(OUT_TEXT)
  74. //+OUT_TEXT
  75. }
  76. else{
  77. alert(OUT_TEXT)
  78. //location.reload();
  79. document.querySelector("#loadingToast").click()
  80. }
  81. }else{
  82. alert("已经签到不用签到")
  83. //break;
  84. }
  85.  
  86. }else{
  87. alert("不用签到")
  88. }
  89. }
  90. }
  91. }
  92. var click_num=-1
  93. var day_list=[]
  94. var Reservation=window.Api.selectReservationByUser();
  95. var NoReservation=0
  96. //续约模块
  97. window.extendDay =function () {
  98. click_num+=1
  99. //var Reservation=window.Api.selectReservationByUser();
  100. var Reservation_ID=0
  101. var tmp_time_timeDay=""
  102. var go=true
  103.  
  104.  
  105. var getReservation_ID=function () {
  106. if(Reservation.success){//判断当天是否有记录优先使用最后一条记录的座位号
  107. // console.log(Reservation.success+"进入")
  108. var last_reseveation=Reservation.list[Reservation.list.length-1]
  109. Reservation_ID=last_reseveation.reservationId
  110. }else{//没有就选择历史记录的座位号
  111. Reservation_ID=window.Api.selectReservation(0,1,10).lists[0].id
  112. }
  113. }
  114. var toReservation=function (day) { //0今天 1 明天
  115. //console.log(day,"0今天 1 明天 toReservation")
  116. var day_num=day
  117. var date_day=new Date(new Date().getTime()+day_num*24*60*60*1000).Format("yyyy-MM-dd")
  118. var Frist_time=date_day+' 09:00:00'
  119. var End_time=date_day+' 22:00:00'
  120. var result_json=""
  121. getReservation_ID()
  122. if(day==0){
  123. //今天特殊预约yyyy-mm-dd hh:mm:ss
  124. console.log("今天预约",End_time,new Date(new Date().getTime()+60*1000))
  125. result_json=window.Api.extendSeatTimeDay(Reservation_ID,End_time,new Date(new Date().getTime()+60*1000).Format("yyyy-MM-dd HH:mm:ss"))
  126. //
  127.  
  128. // location.reload();//刷新整个网页
  129. }else{
  130. result_json=window.Api.extendSeatTimeDay(Reservation_ID,End_time,Frist_time)
  131. }
  132. if(result_json.success){
  133. //alert("预约成功")
  134. if(NoReservation==1){
  135. alert("请刷新页面则按钮功能可能失效")
  136.  
  137. location.reload();
  138. }
  139. }
  140. else{
  141. // console.log("------->",result_json)
  142.  
  143. alert(JSON.stringify(result_json.success)+"\t"+
  144. date_day+"\t"+
  145. JSON.stringify(result_json.message)
  146. )
  147. }
  148. document.querySelector("#loadingToast").click()//刷新子页面
  149.  
  150. }
  151. var getOkDay=function(){
  152. day_list=Array.from({length: 5}, () => 2);
  153. //console.log(Reservation)
  154. if (typeof Reservation.list === "undefined"){
  155. console.log("用户没有预约");
  156. NoReservation=1;
  157. return 0;
  158. }
  159. var curday=new Date();
  160.  
  161.  
  162. for (let index = 0; index < Reservation.list.length; index++) {
  163. tmp_time_timeDay=Reservation.list[index].time
  164. //alert(tmp_time_timeDay)
  165. var t=diffDay((new Date(tmp_time_timeDay.split(" - ")[0])).Format("yyyy-MM-dd"),curday)
  166. console.log(tmp_time_timeDay.split(" - ")[0]+">>与第"+index+"天"+new Date().Format("yyyy-MM-dd")+"相差"+t+"天")
  167.  
  168. if(t==0&& curday.getHours()<22 && curday.getHours()>8){
  169. day_list[t]=1
  170. console.log(new Date(tmp_time_timeDay.split(" - ")[0]))
  171. continue;
  172. }
  173. day_list[t]=1
  174. //对于有记录的那天进行记录 1为有记录
  175. }
  176. //console.log(day_list)
  177. }
  178.  
  179. var tomain = function () {
  180. //getReservation_ID()
  181. getOkDay();
  182. console.log(day_list)
  183.  
  184. for (var index = 0,tmp=0; index < day_list.length; index++) {
  185.  
  186. if(day_list[index]==2){
  187.  
  188. if(click_num==tmp){
  189. toReservation(index)
  190. console.log(click_num+"--->"+index+">>>"+day_list[index])
  191. break;
  192. }
  193. tmp+=1
  194. }
  195.  
  196. }
  197. }
  198. tomain()
  199.  
  200. };
  201. //----------自动操作---------
  202. window.myalert= function () { }
  203. window.myalert=window.alert
  204. window.alert=console.log
  205. console.log("自动签到开始")
  206. window.myCheckIn()
  207. console.log("自动签到结束")
  208. //八点后自动预约
  209. if(new Date().getHours()>20){
  210. //20点以后打开才自动执行
  211. console.log("自动预约开始")
  212. window.extendDay()
  213. console.log("自动预约结束")
  214. }
  215. window.alert=window.myalert
  216. //----------自动操作---------
  217. //通知
  218.  
  219.  
  220. }