11<template >
2- <div id =" grid1" >
2+ <div id =" grid1" ref = " grid1 " >
33 <!-- 加载效果 -->
44 <LoadingView :show =" show" />
55 <!-- 导航栏 -->
2323 <!-- 导航栏底下的星期条 -->
2424 <van-row class =" week-bar" >
2525 <van-col span =" 3" ><p class =" time" >{{ curWeek }}周</p ></van-col >
26- <van-col span =" 3" ><p class =" time" :class =" { active: activeDay[1] }" >周一 </p ></van-col >
27- <van-col span =" 3" ><p class =" time" :class =" { active: activeDay[2] }" >周二 </p ></van-col >
28- <van-col span =" 3" ><p class =" time" :class =" { active: activeDay[3] }" >周三 </p ></van-col >
29- <van-col span =" 3" ><p class =" time" :class =" { active: activeDay[4] }" >周四 </p ></van-col >
30- <van-col span =" 3" ><p class =" time" :class =" { active: activeDay[5] }" >周五 </p ></van-col >
31- <van-col span =" 3" ><p class =" time" :class =" { active: activeDay[6] }" >周六 </p ></van-col >
32- <van-col span =" 3" ><p class =" time" :class =" { active: activeDay[0] }" >周日 </p ></van-col >
26+ <van-col span =" 3" ><p class =" time" :class =" { active: activeDay[1] }" >一 </p ></van-col >
27+ <van-col span =" 3" ><p class =" time" :class =" { active: activeDay[2] }" >二 </p ></van-col >
28+ <van-col span =" 3" ><p class =" time" :class =" { active: activeDay[3] }" >三 </p ></van-col >
29+ <van-col span =" 3" ><p class =" time" :class =" { active: activeDay[4] }" >四 </p ></van-col >
30+ <van-col span =" 3" ><p class =" time" :class =" { active: activeDay[5] }" >五 </p ></van-col >
31+ <van-col span =" 3" ><p class =" time" :class =" { active: activeDay[6] }" >六 </p ></van-col >
32+ <van-col span =" 3" ><p class =" time" :class =" { active: activeDay[0] }" >日 </p ></van-col >
3333 </van-row >
3434
3535 <van-row >
5555 <p class =" num" >12</p >
5656 </div >
5757 </div >
58- <div style =" max-height : 100% ; width : 87.5 vw ; " >
58+ <div style =" max-height : 100% ; width : 85.75 vw ; margin-left : 1 % " >
5959 <!-- 渲染课表 -->
6060 <lesson
6161 v-for =" l in lessons"
6262 :course_name =" l.jw_course_name"
63+ :acg-mode =" acgMode"
6364 :base_room_name =" l.base_room_name"
6465 :week =" l.week"
6566 :key =" l.jw_task_book_no"
6869 :start =" l.section_start"
6970 :end =" l.section_end"
7071 :course_code =" l.jw_course_code"
71- :style =' { "top": computeTop(l.section_start), "left": computeLeft(l.week_day), "background-color": randomColor(l.section_start + l.week_day)}' >
72+ :blur =" lessonBlur"
73+ >
7274 </lesson >
7375 </div >
7476 </van-row >
@@ -93,6 +95,21 @@ export default {
9395 lesson
9496 },
9597 mounted () {
98+ let grid1 = this .$refs .grid1 ;
99+ const opacity = 0.7 ;
100+ this .acgMode = localStorage .getItem (' ACG_MODE' ) === ' true' ;
101+ if (this .acgMode && grid1 .offsetWidth > 0 ) {
102+ let custBg = localStorage .getItem (' customBg' );
103+ if (custBg !== " " && custBg != null ) {
104+ grid1 .style .cssText = ` background-image: url("${ custBg} ");`
105+ } else {
106+ let bgUrl = localStorage .getItem (" ramdonBg" );
107+ grid1 .style .cssText = ` background-image: url("${ bgUrl} ");` ;
108+ }
109+ document .querySelector (" .week-bar" ).style .cssText += ` background-color: rgba(255, 255, 255, ${ opacity} );`
110+ document .documentElement .style .setProperty (" --van-pagination-background" , " none" );
111+ document .documentElement .style .setProperty (" --van-pagination-item-disabled-background" , " none" );
112+ }
96113 // 删掉边框
97114 let items = document .getElementsByTagName (" ul" );
98115 for (const item of items) {
@@ -122,7 +139,9 @@ export default {
122139 show: false ,
123140 local: false ,
124141 activeDay: [false , false , false , false , false , false , false ],
125- initial: 0
142+ initial: 0 ,
143+ acgMode: false ,
144+ lessonBlur: localStorage .getItem (' lessonBlur' ) === ' true'
126145 }
127146 },
128147 computed: {
@@ -234,20 +253,6 @@ export default {
234253 this .activeDay [weekday] = true ;
235254 },
236255
237- // 计算课程方块的位置
238- computeTop : function (num ) {
239- return ((num - 1 ) * 8.3 ).toString () + " %" ;
240- },
241- computeLeft : function (num ) {
242- return ((num - 1 ) * 14.2857 ).toString () + " %" ;
243- },
244-
245- // 随机课程方块的颜色
246- randomColor : function (num ) {
247- const colors = [" #f44336" , " #e91e63" , " #9c27b0" , " #673ab7" , " #3f51b5" , " #2196f3" , " #03a9f4" , " #00bcd4" , " #009688" , " #4caf50" , " #8bc34a" , " #795548" , " #607d8b" ];
248- return colors[num % colors .length ];
249- },
250-
251256 validateLocalCache : function () {
252257 let normStamp = localStorage .getItem (" normStamp" );
253258 let expStamp = localStorage .getItem (" expStamp" );
@@ -274,11 +279,14 @@ export default {
274279 width : 100% ;
275280 height : 100% ;
276281 max-height : 100% ;
282+ background-position : center ;
283+ background-repeat : no-repeat ;
284+ background-size : cover ;
277285}
278286
279287.week-bar {
280288 height : 4.5vh ;
281- padding : 1 % ;
289+ padding : 1 vw ;
282290 top : 0 ;
283291 background-color : white ;
284292 //box-shadow : 0 2px 6px 0 rgba (0 , 0 , 0 , 0.05 ), 0 2px 6px 0 rgba (0 , 0 , 0 , 0.05 );
0 commit comments