diff --git a/.gitignore b/.gitignore index c228ebe..bb590be 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,7 @@ node_modules .DS_Store AGENTS.md # dist +dist dist-ssr coverage *.local diff --git a/dist/assets/CsaAbout-Bhv7MEN1.js b/dist/assets/CsaAbout-Bhv7MEN1.js deleted file mode 100644 index aceebfe..0000000 --- a/dist/assets/CsaAbout-Bhv7MEN1.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as m,o as n,e as i,j as _,a as h,g as t,F as f,f as b,m as w,t as u,h as l,w as k,l as x,X as C,d as $,a1 as M}from"./index-BngEOZDR.js";const B="/assets/team1-BsudDqra.jpg",T={},j={id:"about",class:"section"};function y(p,a){return n(),i("section",j,a[0]||(a[0]=[_('
浙江大学学生网络空间安全协会(ZJUCSA)成立于2023年,旨在成为浙江大学网络空间安全领域的重要育苗基地。我们致力于培养对网络安全感兴趣的学生,通过举办各类技术讲座、实践演练、竞赛培训等活动,为同学们提供全方位的学习和交流平台,助力他们在网络空间安全领域的成长与发展。
浙江大学学生网络空间安全协会,是一个由浙江大学网络空间安全学院与信息技术中心联合成立的全校唯一网络空间安全相关的学生社团。协会于2023年5月顺利完成学校社团成立答辩,并于同年7月10日正式成立。协会聘请了由院士级学者、白帽黑客和产业精英组成的导师团队,包括德育导师宋炜铁、学术导师李松、张聪,以及产业导师李均等。
协会定位为网络安全育苗基地,秉承"全师生、多平台、共运维,务创新、培英才、肩大任"的团队理念,旨在培养学生对网络空间安全的兴趣爱好,提高学生网络空间安全学习和实践能力,开拓学生网络空间安全知识视野,并拓宽学生就业渠道。
协会自成立以来,积极开展了网安知识的宣传与科普、网安主题暑期学校、国家网络安全周等系列活动,并通过代表学校参与各级攻防演练、参与或组办网络空间安全相关比赛等方式,为学生提供更多"实战"演练机会。
协会主导以SeedLab为核心的网络安全研究项目,为学校的网络空间安全学科发展做出了贡献。协会搭建了CTF竞赛平台和攻防演练系统,形成"赛训结合"的特色模式,在网鼎杯,浙江省大学生网络与信息安全等竞赛中均取得成就。
我们致力于打造一个充满活力、技术领先的网络安全学习社区,为每一位成员提供成长和发展的平台
我们通过多样化的活动形式激发成员对网络安全的热情。从CTF竞赛的紧张刺激,到技术沙龙的轻松交流,从实战演练的成就感,到开源项目的创新探索,让每位成员在多样化的学习场景中找到属于自己的兴趣点。我们相信,兴趣是最好的老师,通过营造轻松愉快的学习氛围,帮助成员在探索中收获快乐,在挑战中培养持久的学习动力和职业热情。
我们建立了从基础到进阶的系统化培训体系,涵盖密码学、网络协议、漏洞挖掘、安全防护等多个领域。通过理论课程、实验操作、项目实战相结合的方式,帮助成员循序渐进地掌握专业技能。协会提供CTF竞赛平台、攻防演练环境、OJ训练系统等丰富的实践资源,让成员在真实场景中锻炼技术能力。同时,我们组织定期技术分享会,鼓励成员互相学习、共同进步,打造过硬的技术本领和团队协作能力。
我们定期邀请院士级学者、行业专家、企业技术负责人等举办专题讲座,分享前沿技术动态、行业发展趋势和实战经验。通过网络安全周、暑期学校、学术沙龙等活动,帮助成员了解最新的安全威胁、防护技术和研究热点。我们鼓励成员参与各类学术会议、技术峰会,与业界精英面对面交流,拓展专业视野。同时,协会与国内外高校、科研院所、知名企业建立合作关系,为成员提供更多学习和交流的机会。
我们积极搭建校企合作平台,与多家知名网络安全企业建立长期合作关系,为成员提供实习机会、就业推荐和职业指导。通过企业参访、实习实践、项目合作等方式,帮助成员了解行业需求,培养从业技能。协会定期组织职业规划讲座、简历指导、面试培训等活动,提升成员的就业竞争力。同时,我们建立了校友网络,为成员提供行业资讯、内推机会和职业发展建议,助力成员在网络安全领域实现职业理想。
浙江大学学生网络空间安全协会正式成立,开启网络安全人才培养新篇章
欢迎新成员加入大家庭
举办全员大会,展示协会成果与未来规划
我们是一群沉迷于数字迷宫的极客
日常生活在代码与漏洞之间穿梭。在这里,"破解"不是犯罪,而是一门艺术;"渗透"不是违法,而是一场智力游戏。
作为竞赛部,我们负责组织各类CTF(Capture The Flag)比赛,这是一场数字版的"夺旗战"。想象一下,深夜里,一群熬红眼睛的极客们,为了找出隐藏在程序深处的那个小小"旗帜",愿意与复杂算法和神秘漏洞战斗到天明。
除了锻造校内CTF战队,我们还负责协会的数字基础设施建设。服务器出问题了?找我们。网站被攻陷了?也找我们。我们是协会的数字工程师,用键盘和代码构筑安全的数字堡垒。
'},research:{name:"科研部",avatar:J,shortDescription:"负责组织讲座和科研活动",description:"咱们科研部简直就是一个技术大世界!
想要学习互联网技术,对互联网进行仿真,并亲自上手病毒传播实验,有 SEED 兴趣小组;想要学习大模型,体验最新的模型以及流行生成式 AI 应用创新引擎,使用协会服务器搭建定制的工作流,有「大模型在网络安全运营领域探索」小组;想要学习实践 web 开发相关技术,也有学长手把手教你,并参与到协会微信小程序与网站的设计和维护中;想要参与到意向导师的科研团队中,我们也会邀请科研负责人做讲座,或是和导师面对面交流,深入了解科研项目或是,毛遂自荐;想要学习 CTF 知识,我们和竞赛部也有对接,让每一个感兴趣的人参与到同等的培训和实践。
在这里,你更有一群志同道合的小伙伴,分享项目经历,共克技术难题;无论是 SQTP、SRTP还是创赛、网络安全竞赛,你总能找到经验丰富的小组,更有高技术且亲切和蔼的学长带队。平日在协会活动室自习,身边就是其他部门成员,有问题及时交流,也可以一起分享并准备课业任务,在这里你总能找到和你相似的人。
"},activity:{name:"活动部",avatar:X,shortDescription:"负责活动策划与执行",description:"活动部,超燃的幕后英雄
【日常事务大公开】
活动策划:从创意构思到精细策划,我们精心打造每一场网络安全主题活动。无论是线上的知识竞赛,还是线下的讲座论坛,每一个环节都经过反复推敲,力求让活动既有趣又有深度,让同学们在轻松愉快的氛围中学习网络安全知识。
组织协调:与各方紧密合作,确保活动顺利推进。从邀请业内专家作为嘉宾,到与学校各部门沟通协调场地等资源,再到组织志愿者团队进行现场服务,每一个细节都不放过,只为完美呈现每一场活动。
现场执行:在活动现场,我们有条不紊地把控流程,处理突发状况。无论是设备故障还是人员调度问题,都能迅速解决,保障每一个环节都精彩绝伦,给参与者留下深刻印象。
【独特亮点在这里】
创新无限:不断探索新的活动形式和内容,结合网络安全热点,给同学们带来全新的体验。例如,模拟网络攻击场景,让同学们亲身体验网络安全的重要性;举办网络安全创意作品大赛,激发同学们的创新思维和实践能力。
团队协作:与秘书部、宣传部等紧密配合,形成强大的工作合力,共同推动协会发展。
学习成长:在活动筹备和执行过程中,不仅提升组织能力,还能深入了解网络安全知识,实现自我提升。通过与专业人士的交流和合作,我们不断拓宽自己的视野,为未来的职业发展打下坚实的基础。
"},secretary:{name:"办公室部",avatar:N,shortDescription:"负责协会运营的大小事宜",description:'浙大网安协会的办公室部可以说是整个协会的"神经系统"~
我们作为协会的神经中枢,日常要玩转"多线程操作"——既要当好会员信息数据库的"数字园丁",又要化身网站运营的"一把手",还要完成往年资料和协会大事的"编年史"。24小时的在线冲浪,只力求把活动通知、干货资讯迅速精准地投递到每个协会成员的手机上。
我们的团队成员还是"码上特种兵"。"文"能产出活动总结的"高光时刻小作文",捕捉活动中的精彩瞬间和关键细节;也能撰写网络安全调研的"硬核"报告,不仅能精确地对讲座内容进行全景回顾,还能结合网络安全发展的现状和趋势,提出切实可行的建议和解决方案。"武"既能进行大模型部署,能够快速搭建和优化模型,为协会的活动开展打下了坚实的技术基础;还能借助deepseek做网络渗透工作,通过模拟黑客攻击,发现网络系统中的漏洞和隐患。
但我们团队最动人的地方,还是在值班表上默默划勾的日夜,就像生物体的"毛细血管",用看不见的细致工作将关怀、责任和热情输送到协会的每一个角落。正是这些看似微不足道的细节,日日夜夜的默默付出,不在耀眼的聚光灯下,却汇聚成了协会强大的生命力。
让协会的每一次活动都能顺利开展,让每一位会员都能感受到温暖和关怀,让协会在成长的道路上稳步前行,这就是我们秘书部的使命必达!
'}}),r=o=>{a.value=o};return(o,d)=>(n(),i("section",G,[t("div",P,[d[0]||(d[0]=t("h2",null,"核心部门",-1)),t("div",Q,[(n(!0),i(f,null,b(e.value,(s,c)=>(n(),i("div",{class:w(["team-card card",{"is-hovered":a.value===c}]),key:c,onMouseenter:v=>r(c)},[t("img",{src:s.avatar,class:"member-avatar",alt:`${s.name}头像`},null,8,O),t("h3",null,u(s.name),1),t("p",null,u(s.shortDescription),1)],42,Z))),128))]),l(C,{name:"description"},{default:k(()=>[a.value&&e.value[a.value]?(n(),i("div",K,[t("div",W,[t("h3",Y,u(e.value[a.value].name),1),t("div",{class:"description-body",innerHTML:e.value[a.value].description},null,8,tt)])])):x("",!0)]),_:1})])]))}},et=m(at,[["__scopeId","data-v-f049b0dc"]]),st={id:"venue",class:"section"},nt={class:"content-wrapper"},it={class:"venue-container"},ot={class:"venue-card card"},dt={class:"venue-image-wrapper"},ct=["src","alt"],rt={class:"venue-indicators"},vt=["onClick"],lt={class:"venue-info"},pt={__name:"AboutVenue",setup(p){const a=[{image:new URL("/assets/main_room1-Xfk672ve.png",import.meta.url).href,title:"浙江大学学生网安协会实践训练基地",description:"位于浙江大学紫金港校区蒙民伟楼226,是我们开展日常活动、技术交流和团队协作的主要场所。配备完善的网络设施和安全设备,为成员提供良好的学习环境。"},{image:new URL("/assets/main_room2-Bg2gQ1cK.png",import.meta.url).href,title:"浙江大学学生网安协会实践训练基地",description:"位于浙江大学紫金港校区蒙民伟楼226,是我们开展日常活动、技术交流和团队协作的主要场所。配备完善的网络设施和安全设备,为成员提供良好的学习环境。"},{image:new URL("/assets/meeting_room1-Ce1hk-Jx.jpg",import.meta.url).href,title:"蒙民伟楼培训教室",description:"用于开展各类技术培训和讲座活动"}],e=h(0),r=()=>{e.value=(e.value+1)%a.length},o=()=>{e.value=(e.value-1+a.length)%a.length};return(d,s)=>(n(),i("section",st,[t("div",nt,[s[2]||(s[2]=t("h2",null,"活动场所",-1)),t("div",it,[t("div",ot,[t("div",dt,[t("img",{src:a[e.value].image,alt:a[e.value].title,class:"venue-image"},null,8,ct),t("button",{class:"nav-btn prev-btn",onClick:o},s[0]||(s[0]=[t("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"})],-1)])),t("button",{class:"nav-btn next-btn",onClick:r},s[1]||(s[1]=[t("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5l7 7-7 7"})],-1)])),t("div",rt,[(n(),i(f,null,b(a,(c,v)=>t("span",{key:v,class:w(["indicator",{active:v===e.value}]),onClick:g=>e.value=v},null,10,vt)),64))])]),t("div",lt,[t("h3",null,u(a[e.value].title),1),t("p",null,u(a[e.value].description),1)])])])])]))}},ut=m(pt,[["__scopeId","data-v-0dddef78"]]),mt={class:"about-container"},_t={__name:"CsaAbout",setup(p){let a=[],e=null;const r=()=>{a.forEach(d=>{const s=d.getBoundingClientRect(),c=window.innerHeight,v=Math.min(s.bottom,c)-Math.max(s.top,0),g=Math.max(0,Math.min(1,v/(c*.5)));d.style.opacity=Math.max(.5,g)})},o=()=>{e&&cancelAnimationFrame(e),e=requestAnimationFrame(r)};return $(()=>{a=document.querySelectorAll(".section"),window.addEventListener("scroll",o,{passive:!0}),r()}),M(()=>{window.removeEventListener("scroll",o),e&&cancelAnimationFrame(e)}),(d,s)=>(n(),i(f,null,[s[0]||(s[0]=t("head",null,[t("title",null,"关于我们-CSA-网络空间安全协会"),t("meta",{name:"about",content:"协会介绍-about界面"})],-1)),t("div",mt,[l(F),l(V),l(H),l(et),l(ut)])],64))}};export{_t as default}; diff --git a/dist/assets/CsaAbout-DrHy0OZB.css b/dist/assets/CsaAbout-DrHy0OZB.css deleted file mode 100644 index 04b0aac..0000000 --- a/dist/assets/CsaAbout-DrHy0OZB.css +++ /dev/null @@ -1 +0,0 @@ -.about-content[data-v-d97649d7]{max-width:900px;margin:0 auto}.description[data-v-d97649d7]{font-size:1.125rem;line-height:1.8;color:var(--text-secondary);text-align:center;margin-bottom:2rem;font-weight:400;transition:color .3s ease}.team-photo-container[data-v-d97649d7]{margin:2rem auto 3rem;max-width:100%;text-align:center}.team-photo[data-v-d97649d7]{width:100%;max-width:900px;height:auto;border-radius:8px;box-shadow:0 4px 12px var(--shadow-color);-o-object-fit:cover;object-fit:cover;transition:box-shadow .3s ease}.content-section[data-v-d97649d7]{margin-bottom:2.5rem}.content-section[data-v-d97649d7]:last-child{margin-bottom:0}.content-section h3[data-v-d97649d7]{font-size:1.5rem;color:var(--text-primary);margin-bottom:1rem;font-weight:600;padding-bottom:.5rem;border-bottom:2px solid var(--border-color);transition:color .3s ease,border-color .3s ease}.content-section p[data-v-d97649d7]{color:var(--text-secondary);line-height:1.9;font-size:1rem;margin:0;text-align:left;transition:color .3s ease}@media (max-width: 768px){.about-content[data-v-d97649d7]{max-width:100%}.description[data-v-d97649d7]{font-size:1rem;margin-bottom:1.5rem}.team-photo-container[data-v-d97649d7]{margin:1.5rem auto 2rem}.team-photo[data-v-d97649d7]{border-radius:6px}.content-section[data-v-d97649d7]{margin-bottom:2rem}.content-section h3[data-v-d97649d7]{font-size:1.25rem}.content-section p[data-v-d97649d7]{font-size:.95rem}}.vision-grid[data-v-b939032f]{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:2rem;max-width:1000px;margin-left:auto;margin-right:auto}.vision-card[data-v-b939032f]{display:flex;flex-direction:column;height:100%}.card-icon[data-v-b939032f]{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#667eea1a;border-radius:12px;margin-bottom:1.25rem;color:var(--accent-color);flex-shrink:0;transition:background .3s ease,color .3s ease}.card-icon svg[data-v-b939032f]{width:28px;height:28px}.vision-card h3[data-v-b939032f]{margin-bottom:1rem;color:var(--text-primary);font-size:1.25rem;transition:color .3s ease}.vision-card p[data-v-b939032f]{color:var(--text-secondary);line-height:1.8;margin:0;flex-grow:1;transition:color .3s ease}@media (max-width: 1024px){.vision-grid[data-v-b939032f]{gap:1.5rem}}@media (max-width: 768px){.vision-grid[data-v-b939032f]{grid-template-columns:1fr;gap:1.5rem;max-width:100%}.card-icon[data-v-b939032f]{width:48px;height:48px;margin-bottom:1rem}.card-icon svg[data-v-b939032f]{width:24px;height:24px}.vision-card h3[data-v-b939032f]{font-size:1.125rem}}@media (max-width: 480px){.vision-grid[data-v-b939032f]{gap:1.25rem}}.timeline[data-v-bafca097]{position:relative;max-width:900px;margin:3rem auto 0;padding-left:2rem}.timeline[data-v-bafca097]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--border-color);transition:background .3s ease}.timeline-item[data-v-bafca097]{position:relative;margin-bottom:3rem}.timeline-marker[data-v-bafca097]{position:absolute;left:-2.5rem;top:.5rem;width:12px;height:12px;border-radius:50%;background:var(--accent-color);border:3px solid var(--bg-surface);box-shadow:0 0 0 2px var(--border-color);z-index:1;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}.timeline-content[data-v-bafca097]{margin-left:1rem}.timeline-date[data-v-bafca097]{font-size:.875rem;color:var(--accent-color);font-weight:600;margin-bottom:.5rem;transition:color .3s ease}.timeline-content h3[data-v-bafca097]{margin-bottom:.75rem;color:var(--text-primary);transition:color .3s ease}.timeline-content p[data-v-bafca097]{color:var(--text-secondary);margin-bottom:1rem;transition:color .3s ease}.timeline-image[data-v-bafca097]{width:100%;height:200px;-o-object-fit:cover;object-fit:cover;border-radius:6px;margin-top:1rem}@media (max-width: 768px){.timeline[data-v-bafca097]{padding-left:1.5rem}.timeline-marker[data-v-bafca097]{left:-1.75rem}.timeline-content[data-v-bafca097]{margin-left:.5rem}.timeline-image[data-v-bafca097]{height:160px}}.team-grid[data-v-f049b0dc]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-top:2rem;margin-bottom:2rem}.team-card[data-v-f049b0dc]{cursor:pointer;text-align:center;padding:2rem 1.5rem;transition:all .3s ease;position:relative}.team-card[data-v-f049b0dc]:hover,.team-card.is-hovered[data-v-f049b0dc]{transform:translateY(-4px);box-shadow:0 8px 16px var(--shadow-color)}.member-avatar[data-v-f049b0dc]{width:100px;height:100px;border-radius:50%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;margin:0 auto 1rem;border:3px solid var(--border-color);display:block;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;transition:border-color .3s ease}.team-card:hover .member-avatar[data-v-f049b0dc],.team-card.is-hovered .member-avatar[data-v-f049b0dc]{border-color:var(--accent-color)}.team-card h3[data-v-f049b0dc]{font-size:1.25rem;color:var(--text-primary);margin-bottom:.5rem;transition:color .3s ease}.team-card p[data-v-f049b0dc]{color:var(--text-secondary);font-size:.9rem;margin:0;transition:color .3s ease}.description-panel[data-v-f049b0dc]{margin-top:2rem;padding:2rem;background:var(--bg-surface);border-radius:12px;border:1px solid var(--border-color);box-shadow:0 4px 12px var(--shadow-color);transition:all .3s ease}.description-content[data-v-f049b0dc]{max-width:100%}.description-title[data-v-f049b0dc]{font-size:1.5rem;color:var(--text-primary);margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--accent-color);font-weight:600;transition:color .3s ease,border-color .3s ease}.description-body[data-v-f049b0dc]{color:var(--text-primary);line-height:1.8;transition:color .3s ease}.description-body[data-v-f049b0dc] p{margin-bottom:1rem}.description-body[data-v-f049b0dc] strong{color:var(--text-primary);font-weight:600}.description-enter-active[data-v-f049b0dc],.description-leave-active[data-v-f049b0dc]{transition:all .3s ease}.description-enter-from[data-v-f049b0dc],.description-leave-to[data-v-f049b0dc]{opacity:0;transform:translateY(-10px)}@media (max-width: 768px){.team-grid[data-v-f049b0dc]{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem}.team-card[data-v-f049b0dc]{padding:1.5rem 1rem}.member-avatar[data-v-f049b0dc]{width:80px;height:80px}.description-panel[data-v-f049b0dc]{padding:1.5rem;margin-top:1.5rem}.description-title[data-v-f049b0dc]{font-size:1.25rem}}.activities-grid[data-v-2c0fd049]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:2rem}.activity-card h3[data-v-2c0fd049]{margin-bottom:1rem;color:var(--text-primary);font-size:1.25rem;transition:color .3s ease}.activity-card ul[data-v-2c0fd049]{list-style:none;padding:0;margin:0}.activity-card p[data-v-2c0fd049]{color:var(--text-secondary);line-height:1.8;margin-bottom:1rem;font-size:.95rem;transition:color .3s ease}.activity-card li[data-v-2c0fd049]{color:var(--text-secondary);line-height:1.8;position:relative;padding:.4rem 0 .4rem 1.5rem;font-size:.95rem;transition:color .3s ease}.activity-card li strong[data-v-2c0fd049]{color:var(--text-primary);font-weight:600;transition:color .3s ease}.activity-card li[data-v-2c0fd049]:before{content:"•";position:absolute;left:0;color:var(--accent-color);font-weight:700;font-size:1.2rem;transition:color .3s ease}@media (max-width: 768px){.activities-grid[data-v-2c0fd049]{grid-template-columns:1fr;gap:1rem}}.venue-container[data-v-0dddef78]{max-width:900px;margin:2rem auto 0}.venue-card[data-v-0dddef78]{padding:0;overflow:hidden}.venue-image-wrapper[data-v-0dddef78]{position:relative;width:100%;height:400px;overflow:hidden;background:var(--bg-secondary);transition:background .3s ease}.venue-image[data-v-0dddef78]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.nav-btn[data-v-0dddef78]{position:absolute;top:50%;transform:translateY(-50%);background:rgba(var(--bg-surface-rgb),.9);border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;color:var(--text-primary);box-shadow:0 2px 8px var(--shadow-color)}.nav-btn[data-v-0dddef78]:hover{background:var(--bg-surface);box-shadow:0 4px 12px var(--shadow-color)}.nav-btn svg[data-v-0dddef78]{width:20px;height:20px}.prev-btn[data-v-0dddef78]{left:1rem}.next-btn[data-v-0dddef78]{right:1rem}.venue-indicators[data-v-0dddef78]{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;gap:.5rem}.indicator[data-v-0dddef78]{width:8px;height:8px;border-radius:50%;background:rgba(var(--bg-surface-rgb),.5);cursor:pointer;transition:all .3s ease}.indicator.active[data-v-0dddef78]{background:var(--bg-surface);width:24px;border-radius:4px}.venue-info[data-v-0dddef78]{padding:2rem}.venue-info h3[data-v-0dddef78]{margin-bottom:1rem;color:var(--text-primary);transition:color .3s ease}.venue-info p[data-v-0dddef78]{color:var(--text-secondary);line-height:1.8;margin:0;transition:color .3s ease}@media (max-width: 768px){.venue-image-wrapper[data-v-0dddef78]{height:300px}.nav-btn[data-v-0dddef78]{width:36px;height:36px}.nav-btn svg[data-v-0dddef78]{width:18px;height:18px}.venue-info[data-v-0dddef78]{padding:1.5rem}}.about-container .content-wrapper{max-width:1200px;margin:0 auto;padding:4rem 2rem;position:relative}.about-container .section{min-height:auto;text-align:left;position:relative;margin-bottom:0;padding:5rem 0;opacity:1;overflow-x:hidden;background:var(--bg-surface);border-bottom:1px solid var(--border-color);transition:background .3s ease,border-color .3s ease}.about-container .section:nth-child(2n){background:var(--bg-secondary)}.about-container .section:last-child{border-bottom:none;padding-bottom:calc(5rem + var(--page-footer-gap))}.about-container h2{font-size:2.5rem;color:var(--text-primary);font-weight:700;letter-spacing:-.02em;position:relative;text-align:center;padding-bottom:1.5rem;border-bottom:3px solid var(--accent-color);margin-bottom:3rem;transition:color .3s ease,border-color .3s ease}.about-container h2:after{display:none}.about-container h3{font-size:1.5rem;margin-bottom:1rem;color:var(--text-primary);font-weight:600;position:relative;display:inline-block;transition:color .3s ease}.about-container h3:before{display:none}.about-container .card{background:var(--bg-surface);border-radius:8px;padding:2rem;margin:1.5rem 0;border:1px solid var(--border-color);box-shadow:0 1px 3px var(--shadow-color);transition:all .3s ease}.about-container .card:hover{box-shadow:0 4px 12px var(--shadow-color);border-color:var(--accent-color);transform:translateY(-2px)}.about-container p{color:var(--text-secondary);line-height:1.8;font-size:1rem;transition:color .3s ease}.about-container .description{font-size:1.125rem;line-height:1.8;color:var(--text-secondary);text-align:center;max-width:900px;margin:0 auto 3rem;font-weight:400;transition:color .3s ease}.about-container .fade-in{animation:fadeIn .6s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.about-container{padding:0}.about-container .content-wrapper{max-width:100%;padding:2rem 1rem}.about-container h2{font-size:2rem;margin-bottom:2rem}.about-container .section{padding:3rem 0}.about-container .section:last-child{padding-bottom:calc(3rem + var(--page-footer-gap))}.about-container .card{padding:1.5rem;margin:1rem 0}.about-container h3{font-size:1.25rem}.about-container .description{font-size:1rem}}@media (max-width: 480px){.about-container h2{font-size:1.75rem}.about-container .section{padding:2rem 0}.about-container .section:last-child{padding-bottom:calc(2rem + var(--page-footer-gap))}}.about-container{width:100%;background:var(--bg-secondary);min-height:100%;box-sizing:border-box;padding:0;position:relative;transition:background .3s ease}html{scroll-behavior:smooth} diff --git a/dist/assets/CsaAdmin-C6Fe37VA.css b/dist/assets/CsaAdmin-C6Fe37VA.css deleted file mode 100644 index 9b669c4..0000000 --- a/dist/assets/CsaAdmin-C6Fe37VA.css +++ /dev/null @@ -1 +0,0 @@ -[data-v-acad9d6f] .p-menu{width:100%;border:none;box-shadow:none;background:transparent;padding:0}[data-v-acad9d6f] .p-menu .p-menuitem-link{border-radius:0!important;padding:16px 24px!important;border-left:4px solid transparent!important;margin:0!important;font-size:18px!important;font-weight:500!important;line-height:1.5!important;min-height:56px!important;display:flex!important;align-items:center!important;transition:all .3s ease!important}[data-v-acad9d6f] .p-menu .p-menuitem-link{color:var(--text-primary)!important;background-color:transparent!important}[data-v-acad9d6f] .p-menu .p-menuitem-link:hover{background-color:#667eea1a!important;border-left-color:var(--accent-color)!important}[data-v-acad9d6f] .p-menu .p-menuitem-link.p-highlight{background-color:#667eea33!important;border-left-color:var(--accent-color)!important;color:var(--accent-color)!important;font-weight:600!important;font-size:19px!important}[data-v-acad9d6f] .p-menu .p-submenu-header{font-size:16px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.05em!important;padding:24px 24px 12px!important;background:transparent!important;border:none!important;margin-top:16px!important;min-height:48px!important;color:var(--text-secondary)!important}[data-v-acad9d6f] .p-menu .p-submenu-header:first-child{margin-top:0!important}[data-v-acad9d6f] .p-menu .p-menuitem-icon{margin-right:16px!important;font-size:20px!important;width:24px!important;min-width:24px!important;text-align:center!important;display:flex!important;align-items:center!important;justify-content:center!important;color:inherit!important}[data-v-acad9d6f] .p-menu .p-menuitem-text{font-size:18px!important;font-weight:500!important;line-height:1.5!important;color:inherit!important}[data-v-acad9d6f] .p-menu .p-menu-separator{margin:16px 24px!important;border-color:var(--border-color)!important;border-width:1px!important;min-height:1px!important}.p-menu{font-size:18px!important}.p-menu *{font-size:inherit!important}.p-menu .p-menuitem-link{font-size:18px!important}.p-menu .p-submenu-header{font-size:16px!important}.p-menu .p-menuitem-icon{font-size:20px!important}.p-menu .p-menuitem-text{font-size:18px!important} diff --git a/dist/assets/CsaAdmin-ffXEm-Cr.js b/dist/assets/CsaAdmin-ffXEm-Cr.js deleted file mode 100644 index 1374b47..0000000 --- a/dist/assets/CsaAdmin-ffXEm-Cr.js +++ /dev/null @@ -1,81 +0,0 @@ -import{B as H,G as F,ci as N,C as l,R as _,bx as U,o,e as u,g as h,cd as Z,c as y,m as x,E as A,l as c,t as R,U as E,Z as L,cj as g,s as k,v as P,M as W,P as j,O,Q as q,S as G,T as J,W as Q,r as w,w as K,h as S,X,D as C,F as b,f as T,k as Y,_ as $,ck as ee,a as ne,J as v,n as D,K as te}from"./index-BngEOZDR.js";var ie=function(e){var t=e.dt;return` -.p-menu { - background: `.concat(t("menu.background"),`; - color: `).concat(t("menu.color"),`; - border: 1px solid `).concat(t("menu.border.color"),`; - border-radius: `).concat(t("menu.border.radius"),`; - min-width: 12.5rem; -} - -.p-menu-list { - margin: 0; - padding: `).concat(t("menu.list.padding"),`; - outline: 0 none; - list-style: none; - display: flex; - flex-direction: column; - gap: `).concat(t("menu.list.gap"),`; -} - -.p-menu-item-content { - transition: background `).concat(t("menu.transition.duration"),", color ").concat(t("menu.transition.duration"),`; - border-radius: `).concat(t("menu.item.border.radius"),`; - color: `).concat(t("menu.item.color"),`; -} - -.p-menu-item-link { - cursor: pointer; - display: flex; - align-items: center; - text-decoration: none; - overflow: hidden; - position: relative; - color: inherit; - padding: `).concat(t("menu.item.padding"),`; - gap: `).concat(t("menu.item.gap"),`; - user-select: none; - outline: 0 none; -} - -.p-menu-item-label { - line-height: 1; -} - -.p-menu-item-icon { - color: `).concat(t("menu.item.icon.color"),`; -} - -.p-menu-item.p-focus .p-menu-item-content { - color: `).concat(t("menu.item.focus.color"),`; - background: `).concat(t("menu.item.focus.background"),`; -} - -.p-menu-item.p-focus .p-menu-item-icon { - color: `).concat(t("menu.item.icon.focus.color"),`; -} - -.p-menu-item:not(.p-disabled) .p-menu-item-content:hover { - color: `).concat(t("menu.item.focus.color"),`; - background: `).concat(t("menu.item.focus.background"),`; -} - -.p-menu-item:not(.p-disabled) .p-menu-item-content:hover .p-menu-item-icon { - color: `).concat(t("menu.item.icon.focus.color"),`; -} - -.p-menu-overlay { - box-shadow: `).concat(t("menu.shadow"),`; -} - -.p-menu-submenu-label { - background: `).concat(t("menu.submenu.label.background"),`; - padding: `).concat(t("menu.submenu.label.padding"),`; - color: `).concat(t("menu.submenu.label.color"),`; - font-weight: `).concat(t("menu.submenu.label.font.weight"),`; -} - -.p-menu-separator { - border-top: 1px solid `).concat(t("menu.separator.border.color"),`; -} -`)},se={root:function(e){var t=e.props;return["p-menu p-component",{"p-menu-overlay":t.popup}]},start:"p-menu-start",list:"p-menu-list",submenuLabel:"p-menu-submenu-label",separator:"p-menu-separator",end:"p-menu-end",item:function(e){var t=e.instance;return["p-menu-item",{"p-focus":t.id===t.focusedOptionId,"p-disabled":t.disabled()}]},itemContent:"p-menu-item-content",itemLink:"p-menu-item-link",itemIcon:"p-menu-item-icon",itemLabel:"p-menu-item-label"},oe=H.extend({name:"menu",theme:ie,classes:se}),re={name:"BaseMenu",extends:F,props:{popup:{type:Boolean,default:!1},model:{type:Array,default:null},appendTo:{type:[String,Object],default:"body"},autoZIndex:{type:Boolean,default:!0},baseZIndex:{type:Number,default:0},tabindex:{type:Number,default:0},ariaLabel:{type:String,default:null},ariaLabelledby:{type:String,default:null}},style:oe,provide:function(){return{$pcMenu:this,$parentInstance:this}}},V={name:"Menuitem",hostName:"Menu",extends:F,inheritAttrs:!1,emits:["item-click","item-mousemove"],props:{item:null,templates:null,id:null,focusedOptionId:null,index:null},methods:{getItemProp:function(e,t){return e&&e.item?N(e.item[t]):void 0},getPTOptions:function(e){return this.ptm(e,{context:{item:this.item,index:this.index,focused:this.isItemFocused(),disabled:this.disabled()}})},isItemFocused:function(){return this.focusedOptionId===this.id},onItemClick:function(e){var t=this.getItemProp(this.item,"command");t&&t({originalEvent:e,item:this.item.item}),this.$emit("item-click",{originalEvent:e,item:this.item,id:this.id})},onItemMouseMove:function(e){this.$emit("item-mousemove",{originalEvent:e,item:this.item,id:this.id})},visible:function(){return typeof this.item.visible=="function"?this.item.visible():this.item.visible!==!1},disabled:function(){return typeof this.item.disabled=="function"?this.item.disabled():this.item.disabled},label:function(){return typeof this.item.label=="function"?this.item.label():this.item.label},getMenuItemProps:function(e){return{action:l({class:this.cx("itemLink"),tabindex:"-1","aria-hidden":!0},this.getPTOptions("itemLink")),icon:l({class:[this.cx("itemIcon"),e.icon]},this.getPTOptions("itemIcon")),label:l({class:this.cx("itemLabel")},this.getPTOptions("itemLabel"))}}},directives:{ripple:_}},ae=["id","aria-label","aria-disabled","data-p-focused","data-p-disabled"],le=["href","target"];function ue(n,e,t,s,r,i){var f=U("ripple");return i.visible()?(o(),u("li",l({key:0,id:t.id,class:[n.cx("item"),t.item.class],role:"menuitem",style:t.item.style,"aria-label":i.label(),"aria-disabled":i.disabled()},i.getPTOptions("item"),{"data-p-focused":i.isItemFocused(),"data-p-disabled":i.disabled()||!1}),[h("div",l({class:n.cx("itemContent"),onClick:e[0]||(e[0]=function(m){return i.onItemClick(m)}),onMousemove:e[1]||(e[1]=function(m){return i.onItemMouseMove(m)})},i.getPTOptions("itemContent")),[t.templates.item?t.templates.item?(o(),y(A(t.templates.item),{key:1,item:t.item,label:i.label(),props:i.getMenuItemProps(t.item)},null,8,["item","label","props"])):c("",!0):Z((o(),u("a",l({key:0,href:t.item.url,class:n.cx("itemLink"),target:t.item.target,tabindex:"-1"},i.getPTOptions("itemLink")),[t.templates.itemicon?(o(),y(A(t.templates.itemicon),{key:0,item:t.item,class:x(n.cx("itemIcon"))},null,8,["item","class"])):t.item.icon?(o(),u("span",l({key:1,class:[n.cx("itemIcon"),t.item.icon]},i.getPTOptions("itemIcon")),null,16)):c("",!0),h("span",l({class:n.cx("itemLabel")},i.getPTOptions("itemLabel")),R(i.label()),17)],16,le)),[[f]])],16)],16,ae)):c("",!0)}V.render=ue;function z(n){return pe(n)||me(n)||ce(n)||de()}function de(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ce(n,e){if(n){if(typeof n=="string")return M(n,e);var t={}.toString.call(n).slice(8,-1);return t==="Object"&&n.constructor&&(t=n.constructor.name),t==="Map"||t==="Set"?Array.from(n):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?M(n,e):void 0}}function me(n){if(typeof Symbol<"u"&&n[Symbol.iterator]!=null||n["@@iterator"]!=null)return Array.from(n)}function pe(n){if(Array.isArray(n))return M(n)}function M(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,s=Array(e);t修改密码
Upcoming Events
Latest News
登录