?
This commit is contained in:
parent
ced488a958
commit
839ef35e16
9231
dist/Weapon.xml
vendored
9231
dist/Weapon.xml
vendored
File diff suppressed because it is too large
Load Diff
1
dist/assets/ActiveAuthor-CXN0cabp.js
vendored
1
dist/assets/ActiveAuthor-CXN0cabp.js
vendored
@ -1 +0,0 @@
|
||||
import{_ as b,r as u,c as g,o as k,b as r,d as t,F as f,B as y,t as o,u as E,z as c,n as d}from"./index-DGJ6dnLh.js";import{b as x}from"./centre_maps-BJ03iu7g.js";const A={class:"maps"},B={class:"table-container"},C={class:"maps-table"},M=["onClick"],w={class:"rank-column"},z={class:"author-name"},D={__name:"ActiveAuthor",setup(F){const i=E(),n=u([]),l=u(!1),_=g(()=>l.value?n.value:n.value.slice(0,10)),p=e=>{i.push({name:"EditorsMaps",query:{author:e}})},v=async()=>{try{const e=await x();n.value=e.sort((a,s)=>s.credits-a.credits),console.log("排序后的作者列表:",n.value)}catch(e){console.error("获取列表失败:",e)}},h=()=>{l.value=!l.value};return k(()=>{v()}),(e,a)=>(c(),r("div",A,[a[1]||(a[1]=t("div",{class:"page-header"},[t("h1",null,"活跃作者推荐")],-1)),t("div",B,[t("table",C,[a[0]||(a[0]=t("thead",null,[t("tr",null,[t("th",{class:"rank-column"},"排名"),t("th",null,"作者名称"),t("th",null,"积分"),t("th",null,"最近三个月活跃"),t("th",null,"最近一个月活跃")])],-1)),t("tbody",null,[(c(!0),r(f,null,y(_.value,(s,m)=>(c(),r("tr",{key:s.update_editor,class:"table-row",onClick:L=>p(s.update_editor)},[t("td",w,o(m+1),1),t("td",z,o(s.update_editor),1),t("td",null,o(s.credits),1),t("td",null,[t("span",{class:d(["status-badge",s.three_month_live?"active":"inactive"])},o(s.three_month_live?"是":"否"),3)]),t("td",null,[t("span",{class:d(["status-badge",s.one_month_live?"active":"inactive"])},o(s.one_month_live?"是":"否"),3)])],8,M))),128))])])]),t("div",{class:"expand-button",onClick:h},o(l.value?"收起":"展开更多"),1)]))}},N=b(D,[["__scopeId","data-v-69b8a4e2"]]);export{N as default};
|
1
dist/assets/ActiveAuthor-DvRYs1X9.css
vendored
1
dist/assets/ActiveAuthor-DvRYs1X9.css
vendored
@ -1 +0,0 @@
|
||||
.maps-table[data-v-69b8a4e2]{width:100%;border-collapse:collapse;margin-top:20px}.maps-table th[data-v-69b8a4e2],.maps-table td[data-v-69b8a4e2]{padding:12px;text-align:left;border-bottom:1px solid #ddd}.maps-table th[data-v-69b8a4e2]{background-color:#f5f5f5;font-weight:700}.rank-column[data-v-69b8a4e2]{width:80px;text-align:center;font-weight:700;color:#1a237e}.table-row[data-v-69b8a4e2]{transition:background-color .2s}.table-row[data-v-69b8a4e2]:hover{background-color:#f5f5f5;cursor:pointer}.author-name[data-v-69b8a4e2]{font-weight:700;color:#1a237e}.status-badge[data-v-69b8a4e2]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.9em;font-weight:500}.status-badge.active[data-v-69b8a4e2]{background-color:#e8f5e9;color:#2e7d32}.status-badge.inactive[data-v-69b8a4e2]{background-color:#ffebee;color:#c62828}.expand-button[data-v-69b8a4e2]{display:flex;justify-content:center;align-items:center;padding:10px 20px;background-color:#1a237e;color:#fff;border-radius:4px;cursor:pointer;transition:background-color .3s;width:fit-content;margin:20px auto}.expand-button[data-v-69b8a4e2]:hover{background-color:#283593}
|
38
dist/assets/AddContestant-DMBnXtZl.js
vendored
38
dist/assets/AddContestant-DMBnXtZl.js
vendored
File diff suppressed because one or more lines are too long
1
dist/assets/AddContestant-DnI5sRIS.css
vendored
1
dist/assets/AddContestant-DnI5sRIS.css
vendored
File diff suppressed because one or more lines are too long
1
dist/assets/Competition-DPbKDVqA.css
vendored
1
dist/assets/Competition-DPbKDVqA.css
vendored
@ -1 +0,0 @@
|
||||
.competition-page[data-v-8bdb25e5]{padding:16px;max-width:1400px;margin:0 auto}.page-header[data-v-8bdb25e5]{margin-bottom:20px}.page-header h1[data-v-8bdb25e5]{font-size:22px;color:#1a237e;margin:0 0 6px}.header-subtitle[data-v-8bdb25e5]{color:#666;font-size:13px}.action-bar[data-v-8bdb25e5]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.left-actions[data-v-8bdb25e5],.right-actions[data-v-8bdb25e5]{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.search-box[data-v-8bdb25e5]{position:relative;flex-grow:1}.search-box input[data-v-8bdb25e5]{padding:6px 10px 6px 28px;border:1px solid #ddd;border-radius:4px;font-size:13px;width:100%;max-width:220px}.search-icon[data-v-8bdb25e5]{position:absolute;left:8px;top:50%;transform:translateY(-50%);color:#999;font-size:14px}.filter-select[data-v-8bdb25e5]{padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:13px;background:#fff;min-width:100px;cursor:pointer}.btn-common[data-v-8bdb25e5]{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;font-size:13px;font-weight:500;border-radius:4px;border:1px solid #b6d2ff;cursor:pointer;transition:all .3s ease}.btn-gradient[data-v-8bdb25e5]{background:linear-gradient(90deg,#71eaeb,#416bdf);color:#fff;border:none}.btn-gradient[data-v-8bdb25e5]:hover{background:linear-gradient(90deg,#416bdf,#71eaeb);transform:translateY(-1px)}.btn-light[data-v-8bdb25e5]{background:#fff;color:#2563eb}.btn-light[data-v-8bdb25e5]:hover{background:#f5f7fa;border-color:#2563eb}.table-container[data-v-8bdb25e5]{background:#fff;border-radius:8px;box-shadow:0 1px 8px #0000000d;overflow-x:auto;margin-bottom:20px;position:relative;min-height:200px}.competition-table[data-v-8bdb25e5]{width:100%;min-width:800px;border-collapse:collapse}.competition-table th[data-v-8bdb25e5],.competition-table td[data-v-8bdb25e5]{padding:12px;text-align:left;border-bottom:1px solid #f0f0f0;font-size:13px}.competition-table th[data-v-8bdb25e5]{background-color:#f8f9fa;font-weight:600;color:#1a237e}.competition-row[data-v-8bdb25e5]{cursor:pointer;transition:all .3s ease}.competition-row[data-v-8bdb25e5]:hover{background-color:#f0f7ff;transform:translateY(-1px)}.competition-name[data-v-8bdb25e5]{font-weight:500;color:#1a237e}.status-tag[data-v-8bdb25e5]{display:inline-block;padding:2px 6px;border-radius:3px;font-size:11px;font-weight:500}.status-tag.prepare[data-v-8bdb25e5]{background-color:#e6a23c;color:#fff}.status-tag.starting[data-v-8bdb25e5]{background-color:#67c23a;color:#fff}.status-tag.finish[data-v-8bdb25e5]{background-color:#909399;color:#fff}.action-cell[data-v-8bdb25e5]{display:flex;gap:6px}.action-btn[data-v-8bdb25e5]{padding:5px 10px;border-radius:4px;background:linear-gradient(90deg,#71eaeb,#416bdf);color:#fff;font-size:13px;border:none;cursor:pointer}.empty-state[data-v-8bdb25e5]{padding:30px;text-align:center;font-size:14px;color:#909399}.error-message[data-v-8bdb25e5]{background-color:#fef0f0;color:#f56c6c;padding:10px 14px;border-radius:4px;display:flex;gap:8px;font-size:13px}.retry-btn[data-v-8bdb25e5]{margin-left:auto;padding:4px 10px;font-size:12px;background:#f56c6c;color:#fff;border:none;border-radius:3px;cursor:pointer}.loading-overlay[data-v-8bdb25e5]{position:absolute;top:0;left:0;right:0;bottom:0;background:#fffc;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#409eff;font-size:14px}.table-container.loading[data-v-8bdb25e5]{opacity:.6;pointer-events:none}.btn-common[data-v-8bdb25e5]:disabled{opacity:.6;cursor:not-allowed}.action-btn[data-v-8bdb25e5]:disabled{background:#e0e0e0!important;color:#b0b0b0!important;cursor:not-allowed;border:none;opacity:1}@media (max-width: 768px){.competition-page[data-v-8bdb25e5]{padding:12px}.action-bar[data-v-8bdb25e5]{flex-direction:column;gap:10px;align-items:stretch}.left-actions[data-v-8bdb25e5],.right-actions[data-v-8bdb25e5]{flex-direction:column;gap:8px;width:100%}.table-container[data-v-8bdb25e5]{margin:0 -12px;border-radius:0}.competition-table th[data-v-8bdb25e5],.competition-table td[data-v-8bdb25e5]{padding:10px;font-size:12px}.search-box input[data-v-8bdb25e5],.filter-select[data-v-8bdb25e5]{width:100%;max-width:100%}.status-tag[data-v-8bdb25e5]{font-size:10px;padding:2px 5px}}
|
1
dist/assets/Competition-mpsM-4xK.js
vendored
1
dist/assets/Competition-mpsM-4xK.js
vendored
@ -1 +0,0 @@
|
||||
import{_ as S,r as u,c as V,b as o,d as s,i as C,q as g,n as _,t as l,p as y,C as B,G as M,F as N,B as U,u as D,z as r,l as F}from"./index-DGJ6dnLh.js";import{g as Q}from"./tournament-DhC9_tfq.js";const T={class:"competition-page"},I={class:"action-bar"},$={class:"left-actions"},E=["disabled"],G={class:"right-actions"},R={class:"search-box"},j={key:0,class:"error-message"},A={class:"competition-table"},H=["onClick"],J={class:"competition-name"},K={class:"action-cell"},O=["onClick","disabled"],P={key:0,class:"loading-overlay"},W={key:1,class:"empty-state"},X={__name:"Competition",setup(Y){const v=D(),m=u([]),i=u(""),d=u("all"),n=u(!1),c=u(""),h=V(()=>{let t=m.value;if(i.value){const e=i.value.toLowerCase();t=t.filter(a=>a.name.toLowerCase().includes(e)||a.organizer.toLowerCase().includes(e))}return d.value!=="all"&&(t=t.filter(e=>d.value==="ongoing"?e.status==="starting":e.status==="finish")),t}),p=t=>t.replace(/\//g,"-"),q=()=>{},k=()=>{},w=t=>{v.push({path:"/competition/detail",query:{id:t.id,name:t.name,start_time:t.start_time,end_time:t.end_time,organizer:t.organizer,qq_code:t.qq_code,format:t.format,status:t.status}})},z=t=>{v.push({name:"CompetitionSignUp",query:{id:t.id,name:t.name,start_time:t.start_time,end_time:t.end_time,organizer:t.organizer,qq_code:t.qq_code,format:t.format,status:t.status}})},x=()=>{v.push("/competition/add")},f=async()=>{var t,e;try{n.value=!0,c.value="";const a=await Q();m.value=a,console.log("刷新赛程数据成功")}catch(a){console.error("获取赛程数据失败:",a),c.value=((e=(t=a.response)==null?void 0:t.data)==null?void 0:e.message)||"获取赛程数据失败,请重试"}finally{n.value=!1}};return f(),(t,e)=>(r(),o("div",T,[e[9]||(e[9]=s("div",{class:"page-header"},[s("h1",null,"赛程信息"),s("div",{class:"header-subtitle"},[s("span",{class:"date-range"},"点击即可查看和报名")])],-1)),s("div",I,[s("div",$,[s("button",{class:"btn-common btn-gradient",onClick:x},e[2]||(e[2]=[s("i",{class:"fas fa-plus"},null,-1),g(" 添加赛程 ")])),s("button",{class:"btn-common btn-light",onClick:f,disabled:n.value},[s("i",{class:_(["fas",n.value?"fa-spinner fa-spin":"fa-sync-alt"])},null,2),g(" "+l(n.value?"刷新中...":"刷新赛程"),1)],8,E)]),s("div",G,[s("div",R,[y(s("input",{type:"text","onUpdate:modelValue":e[0]||(e[0]=a=>i.value=a),placeholder:"搜索赛程...",onInput:q},null,544),[[B,i.value]]),e[3]||(e[3]=s("i",{class:"fas fa-search search-icon"},null,-1))]),y(s("select",{"onUpdate:modelValue":e[1]||(e[1]=a=>d.value=a),onChange:k,class:"filter-select"},e[4]||(e[4]=[s("option",{value:"all"},"全部状态",-1),s("option",{value:"ongoing"},"进行中",-1),s("option",{value:"finished"},"已结束",-1)]),544),[[M,d.value]])])]),c.value?(r(),o("div",j,[e[5]||(e[5]=s("i",{class:"fas fa-exclamation-circle"},null,-1)),g(" "+l(c.value)+" ",1),s("button",{class:"retry-btn",onClick:f}," 重试 ")])):C("",!0),s("div",{class:_(["table-container",{loading:n.value}])},[s("table",A,[e[6]||(e[6]=s("thead",null,[s("tr",null,[s("th",null,"序号"),s("th",null,"赛程名称"),s("th",null,"开始时间"),s("th",null,"结束时间"),s("th",null,"状态"),s("th",null,"组织者"),s("th",null,"QQ号"),s("th",null,"赛制类型"),s("th",null,"操作")])],-1)),s("tbody",null,[(r(!0),o(N,null,U(h.value,(a,b)=>(r(),o("tr",{key:b,class:"competition-row",onClick:L=>w(a)},[s("td",null,l(b+1),1),s("td",J,l(a.name),1),s("td",null,l(p(a.start_time)),1),s("td",null,l(p(a.end_time)),1),s("td",null,[s("span",{class:_(["status-tag",a.status])},l(a.status==="prepare"?"筹备中":a.status==="starting"?"进行中":"已结束"),3)]),s("td",null,l(a.organizer),1),s("td",null,l(a.qq_code),1),s("td",null,l(a.format==="single"?"单败淘汰":a.format==="double"?"双败淘汰":"积分赛"),1),s("td",K,[s("button",{class:"action-btn view",onClick:F(L=>z(a),["stop"]),disabled:a.status==="finish"}," 报名 ",8,O)])],8,H))),128))])]),n.value?(r(),o("div",P,e[7]||(e[7]=[s("i",{class:"fas fa-spinner fa-spin"},null,-1),s("span",null,"加载中...",-1)]))):h.value.length===0?(r(),o("div",W,e[8]||(e[8]=[s("i",{class:"fas fa-calendar-times"},null,-1),s("p",null,"暂无赛程信息",-1)]))):C("",!0)],2)]))}},ts=S(X,[["__scopeId","data-v-8bdb25e5"]]);export{ts as default};
|
1
dist/assets/CompetitionDetail-BasH-2oF.css
vendored
1
dist/assets/CompetitionDetail-BasH-2oF.css
vendored
File diff suppressed because one or more lines are too long
1
dist/assets/CompetitionDetail-VJqhUtpz.js
vendored
1
dist/assets/CompetitionDetail-VJqhUtpz.js
vendored
File diff suppressed because one or more lines are too long
1
dist/assets/CompetitionSignUp-BRVAQg_e.css
vendored
1
dist/assets/CompetitionSignUp-BRVAQg_e.css
vendored
@ -1 +0,0 @@
|
||||
.signup-page[data-v-c07fba6c]{padding:20px;max-width:800px;margin:0 auto}.page-header[data-v-c07fba6c]{margin-bottom:30px}.page-header h1[data-v-c07fba6c]{font-size:24px;color:#1a237e;margin:0 0 8px}.header-subtitle[data-v-c07fba6c]{color:#666;font-size:14px}.competition-name[data-v-c07fba6c]{font-weight:500;color:#1a237e}.signup-form[data-v-c07fba6c]{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 12px #0000001a}.form-group[data-v-c07fba6c]{margin-bottom:24px}.form-group label[data-v-c07fba6c]{display:block;font-size:16px;font-weight:500;color:#1a237e;margin-bottom:16px}.info-grid[data-v-c07fba6c]{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;background:#f8f9fa;padding:20px;border-radius:8px}.info-item[data-v-c07fba6c]{display:flex;gap:8px;align-items:center}.info-item .label[data-v-c07fba6c]{color:#666;min-width:80px;font-weight:500}.info-item .value[data-v-c07fba6c]{color:#333;font-weight:500}.input-group[data-v-c07fba6c]{margin-bottom:16px}.form-input[data-v-c07fba6c]{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:all .3s ease}.form-input[data-v-c07fba6c]:focus{border-color:#1a237e;outline:none;box-shadow:0 0 0 2px #1a237e1a}.form-textarea[data-v-c07fba6c]{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;min-height:100px;resize:vertical;transition:all .3s ease}.form-textarea[data-v-c07fba6c]:focus{border-color:#1a237e;outline:none;box-shadow:0 0 0 2px #1a237e1a}.form-select[data-v-c07fba6c]{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;background-color:#fff;cursor:pointer;transition:all .3s ease}.form-select[data-v-c07fba6c]:focus{border-color:#1a237e;outline:none;box-shadow:0 0 0 2px #1a237e1a}.form-actions[data-v-c07fba6c]{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.btn-cancel[data-v-c07fba6c]{padding:10px 24px;border:1px solid #ddd;border-radius:6px;background:#fff;color:#666;font-size:14px;cursor:pointer;transition:all .3s ease}.btn-cancel[data-v-c07fba6c]:hover{background:#f5f5f5;border-color:#ccc}.btn-submit[data-v-c07fba6c]{padding:10px 24px;border:none;border-radius:6px;background:linear-gradient(90deg,#71eaeb,#416bdf);color:#fff;font-size:14px;cursor:pointer;transition:all .3s ease}.btn-submit[data-v-c07fba6c]:hover{transform:translateY(-1px);box-shadow:0 2px 8px #416bdf33}.btn-submit[data-v-c07fba6c]:active{transform:translateY(0)}@media (max-width: 768px){.signup-page[data-v-c07fba6c]{padding:15px}.info-grid[data-v-c07fba6c]{grid-template-columns:1fr}.form-actions[data-v-c07fba6c]{flex-direction:column}.btn-cancel[data-v-c07fba6c],.btn-submit[data-v-c07fba6c]{width:100%}}.status-tag[data-v-c07fba6c]{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-tag.prepare[data-v-c07fba6c]{background-color:#e6a23c;color:#fff}.status-tag.starting[data-v-c07fba6c]{background-color:#67c23a;color:#fff}.status-tag.finish[data-v-c07fba6c]{background-color:#909399;color:#fff}.status-select[data-v-c07fba6c]{margin-top:16px}.status-select .form-select[data-v-c07fba6c]{background-color:#f8f9fa}.status-select .form-select option[value=tie][data-v-c07fba6c]{color:#ff9800}.status-select .form-select option[value=win][data-v-c07fba6c]{color:#4caf50}.status-select .form-select option[value=lose][data-v-c07fba6c]{color:#f44336}
|
1
dist/assets/CompetitionSignUp-srDkrN40.js
vendored
1
dist/assets/CompetitionSignUp-srDkrN40.js
vendored
File diff suppressed because one or more lines are too long
1
dist/assets/Dashboard-BlVag6QM.js
vendored
1
dist/assets/Dashboard-BlVag6QM.js
vendored
File diff suppressed because one or more lines are too long
1
dist/assets/Dashboard-Cjv18hD7.css
vendored
1
dist/assets/Dashboard-Cjv18hD7.css
vendored
File diff suppressed because one or more lines are too long
1
dist/assets/DemandList-DQThmNLo.css
vendored
1
dist/assets/DemandList-DQThmNLo.css
vendored
File diff suppressed because one or more lines are too long
1
dist/assets/DemandList-n0oL-ZE0.js
vendored
1
dist/assets/DemandList-n0oL-ZE0.js
vendored
File diff suppressed because one or more lines are too long
1
dist/assets/EditorsMaps-4PwE2NIU.js
vendored
1
dist/assets/EditorsMaps-4PwE2NIU.js
vendored
File diff suppressed because one or more lines are too long
1
dist/assets/ErrorDialog-COuvC4wX.js
vendored
1
dist/assets/ErrorDialog-COuvC4wX.js
vendored
@ -1 +0,0 @@
|
||||
import{_ as r,b as i,i as l,z as c,d as e,t as n,l as d}from"./index-DGJ6dnLh.js";const m={class:"error-dialog"},_={class:"error-dialog-content"},f={__name:"ErrorDialog",props:{visible:{type:Boolean,default:!1},title:{type:String,default:"错误提示"},message:{type:String,required:!0}},emits:["close"],setup(o,{emit:s}){const a=s,t=()=>{a("close")};return(g,u)=>o.visible?(c(),i("div",{key:0,class:"error-dialog-overlay",onClick:d(t,["self"])},[e("div",m,[e("div",_,n(o.message),1),e("div",{class:"error-dialog-footer"},[e("button",{class:"confirm-button",onClick:t},"确定")])])])):l("",!0)}},v=r(f,[["__scopeId","data-v-d9aac171"]]);export{v as default};
|
1
dist/assets/Login-DuC1BqTn.js
vendored
1
dist/assets/Login-DuC1BqTn.js
vendored
File diff suppressed because one or more lines are too long
1
dist/assets/Login-SfncXZn6.css
vendored
1
dist/assets/Login-SfncXZn6.css
vendored
File diff suppressed because one or more lines are too long
1
dist/assets/MapDetail-BhEvOU2k.css
vendored
1
dist/assets/MapDetail-BhEvOU2k.css
vendored
@ -1 +0,0 @@
|
||||
.map-detail[data-v-d8aed9e1]{padding:15px;max-width:1200px;margin:0 auto}.back-button[data-v-d8aed9e1]{margin-bottom:15px}.back-btn[data-v-d8aed9e1]{display:inline-flex;align-items:center;padding:8px 12px;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;color:#333;cursor:pointer;transition:all .2s ease;font-size:14px}.back-btn[data-v-d8aed9e1]:hover{background:#e9ecef;border-color:#d0d0d0}.back-icon[data-v-d8aed9e1]{margin-right:6px;font-size:16px}.map-header[data-v-d8aed9e1]{margin-bottom:20px}.map-header h1[data-v-d8aed9e1]{margin:0;color:#333;font-size:1.5rem}.author[data-v-d8aed9e1]{color:#666;margin-top:5px;font-size:.9rem}.map-content[data-v-d8aed9e1]{display:flex;flex-direction:column;gap:20px}@media (min-width: 768px){.map-content[data-v-d8aed9e1]{flex-direction:row}.map-image[data-v-d8aed9e1],.map-info[data-v-d8aed9e1]{flex:1}}.map-image img[data-v-d8aed9e1]{width:100%;border-radius:8px;box-shadow:0 2px 10px #0000001a}.map-info[data-v-d8aed9e1]{padding:15px;background:#f8f9fa;border-radius:8px}.info-grid[data-v-d8aed9e1]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.info-item[data-v-d8aed9e1]{display:flex;flex-direction:column}.info-label[data-v-d8aed9e1]{font-size:.8rem;color:#666}.info-value[data-v-d8aed9e1]{font-size:1rem;font-weight:500;color:#333}.tags[data-v-d8aed9e1]{margin-bottom:20px}.tags h3[data-v-d8aed9e1]{margin-bottom:10px;font-size:1.1rem;color:#333}.tag-list[data-v-d8aed9e1]{display:flex;flex-wrap:wrap;gap:8px}.tag[data-v-d8aed9e1]{background:#e9ecef;padding:4px 8px;border-radius:12px;font-size:.8rem;color:#495057}.download-btn[data-v-d8aed9e1]{display:inline-block;width:100%;padding:12px;background:#007bff;color:#fff;text-align:center;text-decoration:none;border-radius:5px;transition:background .2s;font-size:1rem}.download-btn[data-v-d8aed9e1]:hover{background:#0056b3}.score-btn[data-v-d8aed9e1]{display:inline-block;width:100%;padding:12px;background:#a8d1fb;color:#fff;text-align:center;text-decoration:none;border-radius:5px;transition:background .2s;font-size:1rem}.score-btn[data-v-d8aed9e1]:hover{background:#6c8bb9}.score-btn.disabled[data-v-d8aed9e1]{background:#ccc;cursor:not-allowed;opacity:.6}.score-btn.disabled[data-v-d8aed9e1]:hover{background:#ccc}.actions[data-v-d8aed9e1]{display:flex;flex-direction:column;gap:12px}@media (max-width: 480px){.info-grid[data-v-d8aed9e1]{grid-template-columns:1fr}.map-header h1[data-v-d8aed9e1]{font-size:1.3rem}.author[data-v-d8aed9e1]{font-size:.85rem}}.score-dialog[data-v-d8aed9e1]{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000}.dialog-overlay[data-v-d8aed9e1]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1001}.dialog-content[data-v-d8aed9e1]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;padding:20px;border-radius:8px;width:90%;max-width:500px;z-index:1002;box-shadow:0 2px 12px #00000026}.dialog-header[data-v-d8aed9e1]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #eee}.dialog-header h2[data-v-d8aed9e1]{margin:0;font-size:1.25rem;color:#333}.close-btn[data-v-d8aed9e1]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:0 5px}.score-section[data-v-d8aed9e1]{margin-bottom:20px}.score-section h3[data-v-d8aed9e1]{margin:0 0 10px;font-size:1rem;color:#444}.rating[data-v-d8aed9e1]{display:flex;gap:8px;margin-bottom:10px}.star[data-v-d8aed9e1]{font-size:24px;cursor:pointer;color:#ddd;transition:color .2s}.star[data-v-d8aed9e1]:hover,.star.active[data-v-d8aed9e1]{color:gold}.dialog-footer[data-v-d8aed9e1]{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:15px;border-top:1px solid #eee}.cancel-btn[data-v-d8aed9e1],.submit-btn[data-v-d8aed9e1]{padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.cancel-btn[data-v-d8aed9e1]{background:#f5f5f5;border:1px solid #ddd;color:#666}.cancel-btn[data-v-d8aed9e1]:hover{background:#eee}.submit-btn[data-v-d8aed9e1]{background:#007bff;border:1px solid #0056b3;color:#fff}.submit-btn[data-v-d8aed9e1]:hover{background:#0056b3}@media (max-width: 480px){.dialog-content[data-v-d8aed9e1]{width:95%;padding:15px}.star[data-v-d8aed9e1]{font-size:20px}}
|
1
dist/assets/MapDetail-DWR_2AZj.js
vendored
1
dist/assets/MapDetail-DWR_2AZj.js
vendored
@ -1 +0,0 @@
|
||||
import{_ as $,r as l,o as F,b as d,i as C,d as s,f as P,q as T,t as n,F as D,B as M,n as I,H as U,u as q,I as R,z as v}from"./index-DGJ6dnLh.js";import{c as A}from"./maps-oN-j_GQV.js";import{u as L,s as H,g as j,a as G}from"./centre_maps-BJ03iu7g.js";import J from"./ErrorDialog-COuvC4wX.js";const K={key:0,class:"map-detail"},O={class:"map-header"},Q={class:"author"},W={class:"map-content"},X={class:"map-image"},Y=["src","alt"],Z={class:"map-info"},ss={class:"info-grid"},as={class:"info-item"},es={class:"info-value"},os={class:"info-item"},ts={class:"info-value"},ls={class:"info-item"},ns={class:"info-value"},is={class:"info-item"},rs={class:"info-value"},cs={class:"info-value"},us={class:"tags"},ds={class:"tag-list"},vs={class:"actions"},_s=["href"],ps={key:0,class:"score-dialog"},fs={class:"dialog-content"},ms={class:"dialog-header"},hs={class:"dialog-body"},gs={class:"score-section"},bs={class:"rating"},ws=["onClick"],ks={class:"dialog-footer"},ys={__name:"MapDetail",setup(Cs){const g=U(),b=q(),e=l(null),f=l(null),m=l(!1),w=l(""),k=l(""),_=l(null),r=(o,a="",t=null)=>{k.value=o,w.value=a,m.value=!0,_.value=t},S=()=>{m.value=!1,_.value&&(_.value(),_.value=null)},c=l(!1),u=l(0),p=l(!1),i=l(null),y=async()=>{try{const o=await G(e.value.name);f.value=o.rewards}catch(o){console.error("获取地图评分失败:",o)}},x=async()=>{try{await L(e.value.name),p.value=!0,await h()}catch(o){console.error("更新下载信息失败:",o),p.value=!0}},h=async()=>{if(R())try{i.value=await j(e.value.name),p.value=i.value.is_download}catch(o){console.error("获取用户地图信息失败:",o)}},B=()=>{if(!(i.value&&i.value.is_rewarded)){if(!R()){r("请先登录后再进行评分","",()=>{b.push({path:"/backend/login",query:{redirect:g.fullPath}})});return}if(!p.value){r("请先下载地图后再进行评分");return}c.value=!0}},E=async()=>{try{e.value=await A(g.params.id),await Promise.all([h(),y()])}catch(o){console.error("获取地图详情失败:",o),r("获取地图详情失败,请稍后重试")}},N=()=>{b.back()},V=o=>new Date(o).toLocaleDateString("zh-CN"),z=async()=>{if(u.value===0){r("请为地图进行评分");return}try{await H(e.value.name,u.value),c.value=!1,u.value=0,await Promise.all([h(),y()]),r("评分成功!")}catch(o){console.error("评分失败:",o),r("评分失败,请稍后重试")}};return F(()=>{E()}),(o,a)=>e.value?(v(),d("div",K,[s("div",{class:"back-button"},[s("button",{onClick:N,class:"back-btn"},a[3]||(a[3]=[s("span",{class:"back-icon"},"←",-1),T(" 返回列表 ")]))]),s("div",O,[s("h1",null,n(e.value.chinese_name),1),s("p",Q,"作者: "+n(e.value.user),1)]),s("div",W,[s("div",X,[s("img",{src:e.value.img_file,alt:e.value.chinese_name},null,8,Y)]),s("div",Z,[s("div",ss,[s("div",as,[a[4]||(a[4]=s("span",{class:"info-label"},"下载次数",-1)),s("span",es,n(e.value.download_count),1)]),s("div",os,[a[5]||(a[5]=s("span",{class:"info-label"},"收藏次数",-1)),s("span",ts,n(e.value.favourite_count),1)]),s("div",ls,[a[6]||(a[6]=s("span",{class:"info-label"},"玩家数量",-1)),s("span",ns,n(e.value.player_count),1)]),s("div",is,[a[7]||(a[7]=s("span",{class:"info-label"},"创建时间",-1)),s("span",rs,n(V(e.value.create_time)),1)]),s("div",null,[a[8]||(a[8]=s("span",{class:"info-label"},"地图评分",-1)),s("span",cs,n(f.value?f.value.toFixed(1):"暂无评分"),1)])]),s("div",us,[a[9]||(a[9]=s("h3",null,"标签",-1)),s("div",ds,[(v(!0),d(D,null,M(e.value.tags,t=>(v(),d("span",{key:t,class:"tag"},n(t),1))),128))])]),s("div",vs,[s("a",{href:e.value.zip_file,class:"download-btn",download:"",onClick:x},"下载地图",8,_s),s("a",{class:I(["score-btn",{disabled:i.value&&i.value.is_rewarded}]),onClick:B},n(i.value&&i.value.is_rewarded?"已评分":"地图评分"),3)])])]),c.value?(v(),d("div",ps,[s("div",{class:"dialog-overlay",onClick:a[0]||(a[0]=t=>c.value=!1)}),s("div",fs,[s("div",ms,[a[10]||(a[10]=s("h2",null,"评分",-1)),s("button",{class:"close-btn",onClick:a[1]||(a[1]=t=>c.value=!1)},"×")]),s("div",hs,[s("div",gs,[a[11]||(a[11]=s("h3",null,"地图评分",-1)),s("div",bs,[(v(),d(D,null,M(5,t=>s("span",{key:"map-"+t,class:I(["star",{active:t<=u.value}]),onClick:Ds=>u.value=t},"★",10,ws)),64))])])]),s("div",ks,[s("button",{class:"cancel-btn",onClick:a[2]||(a[2]=t=>c.value=!1)},"取消"),s("button",{class:"submit-btn",onClick:z},"提交评分")])])])):C("",!0),P(J,{visible:m.value,title:w.value,message:k.value,onClose:S},null,8,["visible","title","message"])])):C("",!0)}},xs=$(ys,[["__scopeId","data-v-d8aed9e1"]]);export{xs as default};
|
1
dist/assets/Maps-D3dwYHCQ.css
vendored
1
dist/assets/Maps-D3dwYHCQ.css
vendored
File diff suppressed because one or more lines are too long
1
dist/assets/Maps-ZZccGpTN.js
vendored
1
dist/assets/Maps-ZZccGpTN.js
vendored
File diff suppressed because one or more lines are too long
1
dist/assets/PIC2TGA-BbqYupDg.css
vendored
1
dist/assets/PIC2TGA-BbqYupDg.css
vendored
@ -1 +0,0 @@
|
||||
.image-editor[data-v-d6fab920]{padding:20px;max-width:1400px;margin:0 auto}.editor-header[data-v-d6fab920]{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px}.editor-header h1[data-v-d6fab920]{font-size:1.5rem;color:#333;margin:0}.editor-controls[data-v-d6fab920]{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.editor-controls input[data-v-d6fab920],.editor-controls button[data-v-d6fab920],.editor-controls select[data-v-d6fab920]{padding:8px 12px;border:1px solid #ccc;background:#f8f9fa;border-radius:4px;font-size:14px;cursor:pointer;transition:all .2s}.editor-controls button[data-v-d6fab920]:hover,.editor-controls select[data-v-d6fab920]:hover{background-color:#e0e0e0}.thumbnail-list[data-v-d6fab920]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.thumbnail[data-v-d6fab920]{width:80px;height:80px;border:2px solid transparent;cursor:pointer;overflow:hidden;border-radius:6px;box-shadow:0 1px 3px #0000001a}.thumbnail.active[data-v-d6fab920]{border-color:#2196f3}.thumbnail img[data-v-d6fab920]{width:100%;height:100%;object-fit:cover}.editor-canvas[data-v-d6fab920]{display:flex;justify-content:center;align-items:center}canvas[data-v-d6fab920]{max-width:100%;border:1px solid #ccc;border-radius:8px;background:#fff;box-shadow:0 2px 8px #00000014}
|
1
dist/assets/PIC2TGA-D1vEZsy0.js
vendored
1
dist/assets/PIC2TGA-D1vEZsy0.js
vendored
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
.privilege-dialog-overlay[data-v-69a30e0d]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1100}.privilege-dialog[data-v-69a30e0d]{background:#fff;border-radius:8px;width:90%;max-width:420px;box-shadow:0 2px 12px #00000026;animation:dialog-fade-in-69a30e0d .3s ease}.privilege-dialog-header[data-v-69a30e0d]{padding:16px 20px 0;text-align:center}.privilege-dialog-header h3[data-v-69a30e0d]{margin:0;color:#416bdf;font-size:20px;font-weight:600}.privilege-dialog-content[data-v-69a30e0d]{padding:18px 20px 0;color:#606266;font-size:15px;line-height:1.5;text-align:left}.privilege-type[data-v-69a30e0d]{margin-bottom:10px;font-size:15px;color:#333}.privilege-name[data-v-69a30e0d]{color:#416bdf;font-weight:600;font-size:16px;margin-left:4px}.privilege-dialog-footer[data-v-69a30e0d]{padding:18px 20px 20px;text-align:right}.cancel-button[data-v-69a30e0d],.apply-button[data-v-69a30e0d]{background:#f5f5f5;color:#333;border:none;padding:7px 20px;border-radius:4px;font-size:15px;cursor:pointer;margin-left:8px;transition:background .2s}.apply-button[data-v-69a30e0d]{background:#416bdf;color:#fff}.cancel-button[data-v-69a30e0d]:hover{background:#e0e0e0}.apply-button[data-v-69a30e0d]:hover{background:#274bb5}@keyframes dialog-fade-in-69a30e0d{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.privilege-type-highlight[data-v-69a30e0d]{background:#eaf3ff;border-radius:6px;padding:6px 12px;margin-bottom:14px;display:inline-block}.privilege-name.privilege-admin[data-v-69a30e0d]{color:#ff7675}.privilege-name.privilege-mod[data-v-69a30e0d]{color:#6c5ce7}.privilege-name.privilege-competitor[data-v-69a30e0d]{color:#00b894}.privilege-name.privilege-map[data-v-69a30e0d]{color:#0984e3}.privilege-name.privilege-user[data-v-69a30e0d]{color:#636e72}
|
@ -1 +0,0 @@
|
||||
import{_ as n,b as p,i as d,z as g,d as e,q as v,n as c,t as m,l as u}from"./index-DGJ6dnLh.js";const f={class:"privilege-dialog"},y={class:"privilege-dialog-content"},C={class:"privilege-type privilege-type-highlight"},b={__name:"PrivilegeRequestDialog",props:{visible:{type:Boolean,default:!1},privilegeName:{type:String,default:""}},emits:["close","apply"],setup(l,{emit:a}){const s=a;function t(){s("close")}function o(){s("apply")}const r={管理员:"privilege-admin",模组:"privilege-mod",竞技:"privilege-competitor",地图:"privilege-map",用户:"privilege-user"};return(_,i)=>l.visible?(g(),p("div",{key:0,class:"privilege-dialog-overlay",onClick:u(t,["self"])},[e("div",f,[i[2]||(i[2]=e("div",{class:"privilege-dialog-header"},[e("h3",null,"权限申请")],-1)),e("div",y,[e("div",C,[i[0]||(i[0]=v(" 申请权限:")),e("span",{class:c(["privilege-name",r[l.privilegeName]])},m(l.privilegeName),3)]),i[1]||(i[1]=e("p",null,"如需访问该功能,请点击下方按钮提交申请。",-1))]),e("div",{class:"privilege-dialog-footer"},[e("button",{class:"cancel-button",onClick:t},"取消"),e("button",{class:"apply-button",onClick:o},"提交申请")])])])):d("",!0)}},k=n(b,[["__scopeId","data-v-69a30e0d"]]);export{k as default};
|
1
dist/assets/SuccessDialog-BPcsUGCQ.css
vendored
1
dist/assets/SuccessDialog-BPcsUGCQ.css
vendored
@ -1 +0,0 @@
|
||||
.success-dialog-overlay[data-v-b7e74f67]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.success-dialog[data-v-b7e74f67]{background:#fff;border-radius:8px;width:90%;max-width:400px;box-shadow:0 2px 12px #00000026;animation:dialog-fade-in-b7e74f67 .3s ease}.success-dialog-content[data-v-b7e74f67]{padding:20px;text-align:center}.success-icon[data-v-b7e74f67]{font-size:48px;color:#67c23a;margin-bottom:16px;font-weight:700}.success-message[data-v-b7e74f67]{color:#606266;font-size:16px;line-height:1.5}.success-dialog-footer[data-v-b7e74f67]{padding:10px 20px 20px;text-align:center}.confirm-button[data-v-b7e74f67]{background-color:#67c23a;color:#fff;border:none;padding:8px 24px;border-radius:4px;font-size:14px;cursor:pointer;transition:background-color .3s}.confirm-button[data-v-b7e74f67]:hover{background-color:#85ce61}@keyframes dialog-fade-in-b7e74f67{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media screen and (max-width: 480px){.success-dialog[data-v-b7e74f67]{width:85%}.success-icon[data-v-b7e74f67]{font-size:40px}.success-message[data-v-b7e74f67]{font-size:14px;padding:16px}.confirm-button[data-v-b7e74f67]{padding:6px 20px;font-size:13px}}
|
1
dist/assets/SuccessDialog-BpGtP4mq.js
vendored
1
dist/assets/SuccessDialog-BpGtP4mq.js
vendored
@ -1 +0,0 @@
|
||||
import{_ as i,b as l,i as n,z as d,d as s,t as r,l as u}from"./index-DGJ6dnLh.js";const m={class:"success-dialog"},_={class:"success-dialog-content"},f={class:"success-message"},g={__name:"SuccessDialog",props:{visible:{type:Boolean,default:!1},message:{type:String,required:!0}},emits:["close"],setup(e,{emit:t}){const a=t,c=()=>{a("close")};return(v,o)=>e.visible?(d(),l("div",{key:0,class:"success-dialog-overlay",onClick:u(c,["self"])},[s("div",m,[s("div",_,[o[0]||(o[0]=s("div",{class:"success-icon"},"✓",-1)),s("div",f,r(e.message),1)]),s("div",{class:"success-dialog-footer"},[s("button",{class:"confirm-button",onClick:c},"确定")])])])):n("",!0)}},b=i(g,[["__scopeId","data-v-b7e74f67"]]);export{b as default};
|
1
dist/assets/TerrainGenerate-C5LBG_Vv.css
vendored
1
dist/assets/TerrainGenerate-C5LBG_Vv.css
vendored
@ -1 +0,0 @@
|
||||
.terrain-tool-container[data-v-860e1977]{max-width:1000px;margin:0 auto;padding:2rem;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#333}.header[data-v-860e1977]{text-align:center;margin-bottom:2rem}.header h1[data-v-860e1977]{font-size:2.2rem;color:#2c3e50;margin-bottom:.5rem}.subtitle[data-v-860e1977]{color:#7f8c8d;font-size:1.1rem}.upload-section[data-v-860e1977]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.upload-card[data-v-860e1977]{border:2px dashed #bdc3c7;border-radius:12px;padding:1.5rem;transition:all .3s ease;background-color:#f8f9fa}.upload-card.active[data-v-860e1977]{border-color:#3498db;background-color:#e8f4fc}.upload-card[data-v-860e1977]:hover{transform:translateY(-5px);box-shadow:0 10px 20px #0000001a}.upload-label[data-v-860e1977]{display:block;cursor:pointer}.upload-label input[data-v-860e1977]{display:none}.upload-content[data-v-860e1977]{display:flex;flex-direction:column;align-items:center;text-align:center}.upload-content svg[data-v-860e1977]{margin-bottom:1rem;color:#7f8c8d}.upload-card.active svg[data-v-860e1977]{color:#3498db}.upload-content h3[data-v-860e1977]{margin:0 0 .5rem;color:#2c3e50}.upload-content p[data-v-860e1977]{margin:0;color:#7f8c8d;font-size:.9rem}.status-section[data-v-860e1977]{margin-bottom:2rem}.status-card[data-v-860e1977]{background:#fff;border-radius:10px;padding:1.5rem;box-shadow:0 4px 6px #0000000d;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.status-item[data-v-860e1977]{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #eee}.status-item.highlight[data-v-860e1977]{font-weight:700;color:#3498db;border-bottom:none}.status-label[data-v-860e1977]{color:#7f8c8d}.status-value[data-v-860e1977]{font-weight:700}.action-buttons[data-v-860e1977]{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.btn[data-v-860e1977]{padding:.8rem 1.8rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.btn[data-v-860e1977]:disabled{cursor:not-allowed;opacity:.7}.generate-btn[data-v-860e1977]{background-color:#3498db;color:#fff;min-width:200px}.generate-btn[data-v-860e1977]:hover:not(:disabled){background-color:#2980b9;transform:translateY(-2px);box-shadow:0 4px 8px #3498db4d}.download-btn[data-v-860e1977]{background-color:#2ecc71;color:#fff}.download-btn[data-v-860e1977]:hover:not(:disabled){background-color:#27ae60;transform:translateY(-2px);box-shadow:0 4px 8px #2ecc714d}.btn.disabled[data-v-860e1977]{background-color:#bdc3c7}.processing[data-v-860e1977]{display:flex;align-items:center;gap:.5rem}.spinner[data-v-860e1977]{width:20px;height:20px;animation:rotate-860e1977 2s linear infinite}.spinner .path[data-v-860e1977]{stroke:#fff;stroke-linecap:round;animation:dash-860e1977 1.5s ease-in-out infinite}@keyframes rotate-860e1977{to{transform:rotate(360deg)}}@keyframes dash-860e1977{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.results-section[data-v-860e1977]{margin-top:2rem;animation:fadeIn-860e1977 .5s ease}.results-section h2[data-v-860e1977]{color:#2c3e50;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #eee}.results-grid[data-v-860e1977]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.result-item[data-v-860e1977]{background:#fff;border-radius:8px;padding:1rem;display:flex;align-items:center;box-shadow:0 2px 4px #0000000d;transition:transform .2s ease}.result-item[data-v-860e1977]:hover{transform:translateY(-3px);box-shadow:0 4px 8px #0000001a}.file-icon[data-v-860e1977]{margin-right:1rem;color:#3498db}.file-name[data-v-860e1977]{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size[data-v-860e1977]{color:#7f8c8d;font-size:.85rem}.instructions[data-v-860e1977]{background:#f8f9fa;border-radius:10px;padding:1.5rem;margin-top:2rem;border-left:4px solid #3498db}.instructions h3[data-v-860e1977]{color:#2c3e50;margin-top:0}.instructions ol[data-v-860e1977]{padding-left:1.5rem;line-height:1.6}.instructions .note[data-v-860e1977]{font-style:italic;color:#7f8c8d;margin-top:1rem;font-size:.9rem}@keyframes fadeIn-860e1977{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.upload-section[data-v-860e1977]{grid-template-columns:1fr}.action-buttons[data-v-860e1977]{flex-direction:column}.btn[data-v-860e1977]{width:100%}}
|
1
dist/assets/TerrainGenerate-w3a7BwWs.js
vendored
1
dist/assets/TerrainGenerate-w3a7BwWs.js
vendored
File diff suppressed because one or more lines are too long
1
dist/assets/TerrainList-BfzBl6ki.css
vendored
1
dist/assets/TerrainList-BfzBl6ki.css
vendored
@ -1 +0,0 @@
|
||||
.map-detail[data-v-8143e8da]{padding:15px;max-width:1800px;margin:0 auto}.map-header[data-v-8143e8da]{margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.map-header h1[data-v-8143e8da]{margin:0;color:#333;font-size:1.5rem}.filter-controls[data-v-8143e8da]{display:flex;align-items:center;gap:8px}select[data-v-8143e8da]{padding:6px 10px;border:1px solid #ccc;border-radius:4px;font-size:14px}.loading[data-v-8143e8da],.error[data-v-8143e8da],.no-data[data-v-8143e8da]{padding:15px;text-align:center;margin:20px 0}.error[data-v-8143e8da]{color:#d32f2f;background-color:#ffebee}.no-data[data-v-8143e8da]{color:#757575}.terrain-grid[data-v-8143e8da]{display:grid;grid-template-columns:repeat(10,1fr);gap:10px}.terrain-item[data-v-8143e8da]{position:relative;border-radius:4px;overflow:hidden;aspect-ratio:1;transition:transform .2s}.terrain-item[data-v-8143e8da]:hover{transform:scale(1.03);z-index:1}.map-image[data-v-8143e8da]{position:relative;width:100%;height:100%}.map-image img[data-v-8143e8da]{width:100%;height:100%;object-fit:cover;border-radius:4px;box-shadow:0 2px 5px #0000001a}.image-overlay[data-v-8143e8da]{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000000b3);padding:8px;color:#fff;display:flex;justify-content:space-between;align-items:center;opacity:0;transition:opacity .2s}.terrain-item:hover .image-overlay[data-v-8143e8da]{opacity:1}.image-name[data-v-8143e8da]{font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80%}.download-link[data-v-8143e8da]{color:#fff;display:flex;align-items:center;justify-content:center;width:20px;height:20px}.download-link[data-v-8143e8da]:hover{color:#4fc3f7}.pagination-controls[data-v-8143e8da]{display:flex;justify-content:center;align-items:center;gap:20px;margin:20px 0}.pagination-controls.bottom[data-v-8143e8da]{margin-top:30px}.pagination-btn[data-v-8143e8da]{padding:8px 16px;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;transition:all .2s}.pagination-btn[data-v-8143e8da]:hover:not(:disabled){background:#e9ecef;border-color:#d0d0d0}.pagination-btn[data-v-8143e8da]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-8143e8da]{font-size:.9rem;color:#666}.back-btn[data-v-8143e8da]{display:inline-flex;align-items:center;padding:8px 12px;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;color:#333;cursor:pointer;transition:all .2s ease;font-size:14px;margin-left:10px}.back-btn[data-v-8143e8da]:hover{background:#e9ecef;border-color:#d0d0d0}@media (max-width: 1800px){.terrain-grid[data-v-8143e8da]{grid-template-columns:repeat(8,1fr)}}@media (max-width: 1400px){.terrain-grid[data-v-8143e8da]{grid-template-columns:repeat(6,1fr)}}@media (max-width: 1000px){.terrain-grid[data-v-8143e8da]{grid-template-columns:repeat(4,1fr)}}@media (max-width: 700px){.terrain-grid[data-v-8143e8da]{grid-template-columns:repeat(3,1fr)}.map-header[data-v-8143e8da]{flex-direction:column;align-items:flex-start;gap:10px}}@media (max-width: 500px){.terrain-grid[data-v-8143e8da]{grid-template-columns:repeat(2,1fr)}.pagination-controls[data-v-8143e8da]{flex-direction:column;gap:10px}}
|
1
dist/assets/TerrainList-Fv6NaG5S.js
vendored
1
dist/assets/TerrainList-Fv6NaG5S.js
vendored
@ -1 +0,0 @@
|
||||
import{_ as f,b as n,d as s,i as g,p as m,G as y,F as h,B as u,t as l,q as P,z as o}from"./index-DGJ6dnLh.js";const _={name:"TerrainList",data(){return{terrains:[],filteredTerrains:[],loading:!1,error:null,currentPage:1,itemsPerPage:100,apiBaseUrl:"https://api.zybdatasupport.online",categoryList:[],selectedCategory:"全部"}},computed:{filteredTerrainsByCategory(){return this.selectedCategory==="全部"?this.filteredTerrains:this.filteredTerrains.filter(r=>r.key.toLowerCase().startsWith(this.selectedCategory+"_"))},totalPages(){return Math.ceil(this.filteredTerrainsByCategory.length/this.itemsPerPage)},paginatedTerrains(){const r=(this.currentPage-1)*this.itemsPerPage,e=r+this.itemsPerPage;return this.filteredTerrainsByCategory.slice(r,e)}},created(){this.fetchTerrainList()},methods:{async fetchTerrainList(){this.loading=!0,this.error=null;try{const r=await fetch(`${this.apiBaseUrl}/terrain`);if(!r.ok)throw new Error("获取地形图列表失败");const e=await r.json();this.terrains=e,this.filteredTerrains=e.filter(d=>this.isImageFile(d.key)),this.extractCategories(),this.currentPage=1}catch(r){this.error=r.message,console.error("Error fetching terrain list:",r)}finally{this.loading=!1}},extractCategories(){const r=new Set;this.filteredTerrains.forEach(e=>{const d=e.key.split("_")[0].toLowerCase();r.add(d)}),this.categoryList=["全部",...Array.from(r).sort()]},getImageUrl(r){return`http://dataimg-1307694021.cos.ap-beijing.myqcloud.com/Terrain/jpg/${r}`},isImageFile(r){const e=[".jpg",".jpeg",".png",".gif",".bmp",".webp"],d=r.toLowerCase();return e.some(c=>d.endsWith(c))},nextPage(){this.currentPage<this.totalPages&&this.currentPage++},prevPage(){this.currentPage>1&&this.currentPage--}}},p={class:"map-detail"},v={class:"map-header"},b={class:"filter-controls"},k=["value"],C={class:"pagination-controls"},T=["disabled"],w={class:"page-info"},L=["disabled"],x={key:0,class:"loading"},B={key:1,class:"error"},V={class:"map-content"},I={key:0,class:"terrain-grid"},U={class:"map-image"},j=["src","alt"],E={class:"image-overlay"},H={class:"image-name"},F=["href"],M={key:1,class:"no-data"},N={class:"pagination-controls bottom"},S=["disabled"],q={class:"page-info"},z=["disabled"];function D(r,e,d,c,a,i){return o(),n("div",p,[s("div",v,[e[8]||(e[8]=s("h1",null,"地形图列表",-1)),s("div",b,[e[7]||(e[7]=s("label",{for:"category-select"},"分类:",-1)),m(s("select",{"onUpdate:modelValue":e[0]||(e[0]=t=>a.selectedCategory=t),id:"category-select",onChange:e[1]||(e[1]=t=>a.currentPage=1)},[(o(!0),n(h,null,u(a.categoryList,t=>(o(),n("option",{key:t,value:t},l(t),9,k))),128))],544),[[y,a.selectedCategory]])])]),s("div",C,[s("button",{class:"pagination-btn",onClick:e[2]||(e[2]=(...t)=>i.prevPage&&i.prevPage(...t)),disabled:a.currentPage===1}," < 上一页 ",8,T),s("span",w,"第 "+l(a.currentPage)+" 页 / 共 "+l(i.totalPages)+" 页",1),s("button",{class:"pagination-btn",onClick:e[3]||(e[3]=(...t)=>i.nextPage&&i.nextPage(...t)),disabled:a.currentPage===i.totalPages}," 下一页 > ",8,L)]),a.loading?(o(),n("div",x,"加载中...")):g("",!0),a.error?(o(),n("div",B,[P(" 加载失败: "+l(a.error)+" ",1),s("button",{onClick:e[4]||(e[4]=(...t)=>i.fetchTerrainList&&i.fetchTerrainList(...t)),class:"back-btn"},"重试")])):g("",!0),s("div",V,[i.filteredTerrainsByCategory.length>0?(o(),n("div",I,[(o(!0),n(h,null,u(i.paginatedTerrains,t=>(o(),n("div",{key:t.key,class:"terrain-item"},[s("div",U,[s("img",{src:i.getImageUrl(t.key),alt:"地形图 "+t.key},null,8,j),s("div",E,[s("span",H,l(t.key),1),s("a",{href:i.getImageUrl(t.key),class:"download-link",download:"",title:"下载"},e[9]||(e[9]=[s("svg",{viewBox:"0 0 24 24",width:"20",height:"20"},[s("path",{fill:"white",d:"M5,20H19V18H5M19,9H15V3H9V9H5L12,16L19,9Z"})],-1)]),8,F)])])]))),128))])):a.loading?g("",!0):(o(),n("div",M," 当前分类下没有可用的地形图数据 "))]),s("div",N,[s("button",{class:"pagination-btn",onClick:e[5]||(e[5]=(...t)=>i.prevPage&&i.prevPage(...t)),disabled:a.currentPage===1}," < 上一页 ",8,S),s("span",q,"第 "+l(a.currentPage)+" 页 / 共 "+l(i.totalPages)+" 页",1),s("button",{class:"pagination-btn",onClick:e[6]||(e[6]=(...t)=>i.nextPage&&i.nextPage(...t)),disabled:a.currentPage===i.totalPages}," 下一页 > ",8,z)])])}const A=f(_,[["render",D],["__scopeId","data-v-8143e8da"]]);export{A as default};
|
5
dist/assets/WeaponMatch-Bq9fGG4v.js
vendored
5
dist/assets/WeaponMatch-Bq9fGG4v.js
vendored
File diff suppressed because one or more lines are too long
1
dist/assets/WeaponMatch-CcEighiP.css
vendored
1
dist/assets/WeaponMatch-CcEighiP.css
vendored
File diff suppressed because one or more lines are too long
1
dist/assets/WeeklyRecommend-3Niuku8K.js
vendored
1
dist/assets/WeeklyRecommend-3Niuku8K.js
vendored
@ -1 +0,0 @@
|
||||
import{_ as y,r as b,c as f,o as v,b as u,d as e,t as l,F as h,B as m,u as M,z as i}from"./index-DGJ6dnLh.js";import{b as C}from"./maps-oN-j_GQV.js";const z={class:"weekly-recommend"},L={class:"page-header"},N={class:"header-subtitle"},R={class:"date-range"},S={class:"table-container"},B={class:"maps-table"},W=["onClick"],$={class:"rank-number"},x={class:"preview-cell"},j=["src","alt"],E={class:"map-name"},F={class:"tags"},O={__name:"WeeklyRecommend",setup(T){const D=M(),_=b([]),p=f(()=>{const a=new Date,t=new Date;return t.setDate(t.getDate()-6),`${t.toLocaleDateString("zh-CN")} - 今天 ${a.toLocaleDateString("zh-CN")}`}),g=a=>{D.push(`/map/${a}`)},w=a=>new Date(a).toLocaleDateString("zh-CN"),k=async()=>{try{const a=await C(),t=new Date;t.setDate(t.getDate()-6);const c=a.filter(s=>new Date(s.create_time)>=t).reduce((s,o)=>{const d=new Date(o.create_time).toLocaleDateString("zh-CN");return s[d]||(s[d]=[]),s[d].push(o),s},{});Object.keys(c).forEach(s=>{c[s].sort((o,d)=>d.download_count-o.download_count)});const r=Object.keys(c).sort((s,o)=>new Date(o)-new Date(s));_.value=r.reduce((s,o)=>s.concat(c[o]),[])}catch(a){console.error("获取推荐地图失败:",a)}};return v(()=>{k()}),(a,t)=>(i(),u("div",z,[e("div",L,[t[0]||(t[0]=e("h1",null,"每周热门下载地图",-1)),e("div",N,[e("span",R,l(p.value),1)])]),e("div",S,[e("table",B,[t[1]||(t[1]=e("thead",null,[e("tr",null,[e("th",null,"序号"),e("th",null,"预览图"),e("th",null,"地图名称"),e("th",null,"作者"),e("th",null,"下载次数"),e("th",null,"收藏次数"),e("th",null,"玩家数量"),e("th",null,"创建时间"),e("th",null,"标签")])],-1)),e("tbody",null,[(i(!0),u(h,null,m(_.value,(n,c)=>(i(),u("tr",{key:n.id,onClick:r=>g(n.id),class:"table-row"},[e("td",$,l(c+1),1),e("td",x,[e("img",{src:n.thumbnail,alt:n.chinese_name},null,8,j)]),e("td",E,l(n.chinese_name),1),e("td",null,l(n.user),1),e("td",null,l(n.download_count),1),e("td",null,l(n.favourite_count),1),e("td",null,l(n.player_count),1),e("td",null,l(w(n.create_time)),1),e("td",null,[e("div",F,[(i(!0),u(h,null,m(n.tags,r=>(i(),u("span",{key:r,class:"tag"},l(r),1))),128))])])],8,W))),128))])])])]))}},V=y(O,[["__scopeId","data-v-7e5f14ab"]]);export{V as default};
|
1
dist/assets/WeeklyRecommend-DauhR76-.css
vendored
1
dist/assets/WeeklyRecommend-DauhR76-.css
vendored
@ -1 +0,0 @@
|
||||
.weekly-recommend{padding:20px}.header-subtitle{color:#666;font-size:.9rem}.map-name{font-weight:500;color:#1a237e}.rank-number[data-v-7e5f14ab]{font-weight:700;color:#1a237e;text-align:center;width:50px;font-size:1.1em}
|
1
dist/assets/backend-DPfrkTjf.js
vendored
1
dist/assets/backend-DPfrkTjf.js
vendored
@ -1 +0,0 @@
|
||||
import{_ as o,k as r,j as c,z as n}from"./index-DGJ6dnLh.js";const t={};function s(_,a){const e=c("router-view");return n(),r(e)}const p=o(t,[["render",s]]);export{p as default};
|
1
dist/assets/centre_maps-BJ03iu7g.js
vendored
1
dist/assets/centre_maps-BJ03iu7g.js
vendored
@ -1 +0,0 @@
|
||||
import{M as s}from"./index-DGJ6dnLh.js";const n=async()=>{try{return(await s.get("/map/editors")).data}catch(a){throw a}},c=async(a,r)=>{try{const o={mapname:a,reward:r};return(await s.post("/user/map/reward",o)).data}catch(o){throw console.error("提交地图评分失败:",o),o}},p=async a=>{try{return(await s.get(`/user/map/${a}`)).data}catch(r){throw console.error("获取用户地图信息失败:",r),r}},w=async a=>{try{return(await s.post(`/map/download/${a}`)).data}catch(r){throw console.error("更新用户下载地图信息失败:",r),r}},d=async a=>{try{return(await s.get(`/map/reward/${a}`)).data}catch(r){throw console.error("获取指定地图评分失败:",r),r}},i=async a=>{try{const r=new URLSearchParams(a).toString();return(await s.get(`/map/search?${r}`)).data}catch(r){throw console.error("依据条件搜索地图失败:",r),r}};export{d as a,n as b,i as c,p as g,c as s,w as u};
|
1
dist/assets/demands-DLGsQjh3.js
vendored
1
dist/assets/demands-DLGsQjh3.js
vendored
@ -1 +0,0 @@
|
||||
import{M as t}from"./index-DGJ6dnLh.js";const a=async()=>{try{return(await t.get("/demands/getlist")).data}catch(r){throw console.error("获取需求列表失败:",r),r}},c=async r=>{try{const e={...r,content:r.content},o=await t.post("/demands/add",e);return console.log("添加需求的数据:",e),o.data}catch(e){throw console.error("添加需求失败:",e),e}},d=async(r,e)=>{try{const o={...e,content:e.content};return console.log("更新需求的数据:",o),(await t.put(`/demands/update/${r}`,o)).data}catch(o){throw console.error("更新需求失败:",o),o}},l=async r=>{try{return(await t.delete(`/demands/delete/${r}`)).data}catch(e){throw console.error("删除需求失败:",e),e}},p=async(r,e)=>{try{const o={id:r,reply:e.reply};return console.log("添加需求回复的数据:",o),(await t.put("/demands/reply",o)).data}catch(o){throw console.error("添加需求回复失败:",o),o}};export{p as a,c as b,l as d,a as g,d as u};
|
1
dist/assets/index-BE0BzS9Q.css
vendored
1
dist/assets/index-BE0BzS9Q.css
vendored
File diff suppressed because one or more lines are too long
1
dist/assets/index-BETZlwvr.css
vendored
1
dist/assets/index-BETZlwvr.css
vendored
File diff suppressed because one or more lines are too long
27
dist/assets/index-DGJ6dnLh.js
vendored
27
dist/assets/index-DGJ6dnLh.js
vendored
File diff suppressed because one or more lines are too long
2
dist/assets/index-DgMOVoE8.js
vendored
2
dist/assets/index-DgMOVoE8.js
vendored
File diff suppressed because one or more lines are too long
12
dist/assets/jszip.min-CRsa9W6H.js
vendored
12
dist/assets/jszip.min-CRsa9W6H.js
vendored
File diff suppressed because one or more lines are too long
1
dist/assets/login-DCaIIcze.js
vendored
1
dist/assets/login-DCaIIcze.js
vendored
@ -1 +0,0 @@
|
||||
import{M as o,O as c}from"./index-DGJ6dnLh.js";const i=async()=>{try{return(await o.get("/captcha")).data}catch(r){throw r}},p=async(r,t,e,a)=>{try{const s=await o.post("/user/login",{username:r,password:t,token:e,captcha:a});return s.data.access_token&&c(s.data.access_token,r),s.data}catch(s){throw s}},g=async(r,t,e,a)=>{try{return(await o.post("/user/register",{qq_code:r,password:t,token:e,captcha:a})).data}catch(s){throw s}},d=async(r,t)=>{try{await o.put("/admin/change_user_privilege",{uuid:r,privilege:t})}catch(e){throw e}},h=async r=>{try{console.log("申请的权限【requestTempPrivilege】privilege:",r),await o.post("/user/temp_privilege_request",{privilege:r})}catch(t){throw t}},u=async(r,t,e)=>{try{const a={uuid:r,privilege:t};e!=null&&e!==""&&(a.exp_time=e),await o.post("/admin/add_temp_privilege",a)}catch(a){throw a}};export{g as a,d as b,u as c,i as g,h as r,p as u};
|
BIN
dist/assets/login_1-C3OEQVYC.jpg
vendored
BIN
dist/assets/login_1-C3OEQVYC.jpg
vendored
Binary file not shown.
Before Width: | Height: | Size: 952 KiB |
BIN
dist/assets/login_2-mpXI1EkV.jpg
vendored
BIN
dist/assets/login_2-mpXI1EkV.jpg
vendored
Binary file not shown.
Before Width: | Height: | Size: 2.0 MiB |
BIN
dist/assets/login_3-BOuqkKAR.jpg
vendored
BIN
dist/assets/login_3-BOuqkKAR.jpg
vendored
Binary file not shown.
Before Width: | Height: | Size: 1.1 MiB |
BIN
dist/assets/logo-DksfcAHK.png
vendored
BIN
dist/assets/logo-DksfcAHK.png
vendored
Binary file not shown.
Before Width: | Height: | Size: 12 KiB |
1
dist/assets/maps-oN-j_GQV.js
vendored
1
dist/assets/maps-oN-j_GQV.js
vendored
@ -1 +0,0 @@
|
||||
import{J as e}from"./index-DGJ6dnLh.js";const s="https://ra3.z31.xyz/v1",c=async(r={})=>{try{return(await e.get(`${s}/maps/`,{params:{p:r.page||1,search:r.search||"",player_count:r.player_count||"",tags:r.tags||"",ordering:r.ordering||""}})).data}catch(t){throw console.error("获取地图列表失败:",t),t}},p=async(r={})=>{try{return(await e.get(`${s}/maps/`,{params:{p:r.page||1,format:"json",ordering:r.ordering||""}})).data.results}catch(t){throw console.error("获取地图列表失败:",t),t}},g=async r=>{try{return(await e.get(`${s}/maps/${r}/`)).data}catch(t){throw console.error("获取地图详情失败:",t),t}},h=async()=>{try{const r=await e.get(`${s}/maps/`),t=new Set;return r.data.results.forEach(o=>{o.tags.forEach(a=>t.add(a))}),Array.from(t)}catch(r){throw console.error("获取标签列表失败:",r),r}};export{c as a,p as b,g as c,h as g};
|
1
dist/assets/tournament-DhC9_tfq.js
vendored
1
dist/assets/tournament-DhC9_tfq.js
vendored
@ -1 +0,0 @@
|
||||
import{M as r}from"./index-DGJ6dnLh.js";const c=async s=>{var e,n;try{return(await r.post("/tournament/add",s)).data}catch(t){throw console.error("添加赛事失败:",{status:(e=t.response)==null?void 0:e.status,data:(n=t.response)==null?void 0:n.data,message:t.message}),t}},m=async()=>{var s,e;try{return(await r.get("/tournament/getlist")).data}catch(n){throw console.error("获取赛事列表失败:",{status:(s=n.response)==null?void 0:s.status,data:(e=n.response)==null?void 0:e.data,message:n.message}),n}},i=async(s,e)=>{var n;try{return console.log("更新赛事,发送数据:",e),(await r.put(`/tournament/update/${s}`,{name:e.name,format:e.format,organizer:e.organizer,qq_code:e.qq_code,start_time:e.start_time,end_time:e.end_time,status:e.status})).data}catch(t){throw console.error("更新赛事失败:",t),t.response&&(console.error("错误详情:",{status:t.response.status,data:t.response.data,headers:t.response.headers,config:t.config}),(n=t.response.data)!=null&&n.detail)?new Error(t.response.data.detail):t}},l=async s=>{try{return(await r.delete(`/tournament/delete/${s}`)).data}catch(e){throw console.error("删除赛事失败:",e),e}},p=async()=>{var s,e;try{return(await r.get("/tournament/signup_result/getlist")).data}catch(n){throw console.error("获取参赛结果列表失败:",{status:(s=n.response)==null?void 0:s.status,data:(e=n.response)==null?void 0:e.data,message:n.message}),n}},g=async(s,e)=>{var n,t;try{return console.log("更新报名结果..."),await r.put(`/tournament/signup_result/update/${s}`,{tournament_id:parseInt(e.tournament_id),tournament_name:e.tournament_name,team_name:e.team_name||null,sign_name:e.sign_name,win:e.win||"0",lose:e.lose||"0",status:e.status||"tie"}),console.log("报名结果更新成功"),{success:!0}}catch(o){throw console.error("更新参赛结果失败:",{status:(n=o.response)==null?void 0:n.status,data:(t=o.response)==null?void 0:t.data,message:o.message}),o}},d=async s=>{var e,n;try{return console.log("删除报名结果..."),await r.delete(`/tournament/signup_result/delete/${s}`),console.log("报名结果删除成功"),{success:!0}}catch(t){throw console.error("删除参赛选手失败:",{status:(e=t.response)==null?void 0:e.status,data:(n=t.response)==null?void 0:n.data,message:t.message}),t}},_=async s=>{var e,n,t,o;try{return console.log("开始报名流程,数据:",s),console.log("调用报名 API..."),await r.post("/tournament/signup/add",{tournament_id:s.id,type:s.type,teamname:s.team_name||"",faction:s.faction||"random",username:s.sign_name,qq:s.qq||""}),console.log("报名 API 调用成功"),console.log("调用报名结果 API..."),await r.post("/tournament/signup_result/add",{tournament_id:s.id,tournament_name:s.tournament_name,team_name:s.team_name||null,sign_name:s.sign_name,win:"0",lose:"0",status:"tie"}),console.log("报名结果 API 调用成功"),{signup:{success:!0},result:{success:!0}}}catch(a){throw console.error("报名请求错误:",{message:a.message,response:(e=a.response)==null?void 0:e.data,status:(n=a.response)==null?void 0:n.status,config:a.config}),(o=(t=a.response)==null?void 0:t.data)!=null&&o.detail?new Error(a.response.data.detail):new Error("报名失败,请检查网络连接后重试")}};export{c as a,_ as b,p as c,i as d,l as e,d as f,m as g,g as u};
|
BIN
dist/favicon.ico
vendored
BIN
dist/favicon.ico
vendored
Binary file not shown.
Before Width: | Height: | Size: 4.2 KiB |
15
dist/index.html
vendored
15
dist/index.html
vendored
@ -1,15 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="icon" href="/favicon.ico">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
|
||||
<title>红色警戒3数据分析中心</title>
|
||||
<script type="module" crossorigin src="/assets/index-DGJ6dnLh.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="/assets/index-BE0BzS9Q.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
</body>
|
||||
</html>
|
77
node_modules/.vue-global-types/vue_3.5_0_0_0.d.ts
generated
vendored
77
node_modules/.vue-global-types/vue_3.5_0_0_0.d.ts
generated
vendored
@ -2,6 +2,7 @@
|
||||
export {};
|
||||
|
||||
; declare global {
|
||||
const __VLS_intrinsicElements: __VLS_IntrinsicElements;
|
||||
const __VLS_directiveBindingRestFields: { instance: null, oldValue: null, modifiers: any, dir: any };
|
||||
const __VLS_unref: typeof import('vue').unref;
|
||||
const __VLS_placeholder: any;
|
||||
@ -23,31 +24,10 @@ export {};
|
||||
N2 extends keyof __VLS_GlobalComponents ? N2 extends N0 ? Pick<__VLS_GlobalComponents, N0 extends keyof __VLS_GlobalComponents ? N0 : never> : { [K in N0]: __VLS_GlobalComponents[N2] } :
|
||||
N3 extends keyof __VLS_GlobalComponents ? N3 extends N0 ? Pick<__VLS_GlobalComponents, N0 extends keyof __VLS_GlobalComponents ? N0 : never> : { [K in N0]: __VLS_GlobalComponents[N3] } :
|
||||
{ [K in N0]: unknown };
|
||||
type __VLS_FunctionalComponentCtx<T, K> = __VLS_PickNotAny<'__ctx' extends keyof __VLS_PickNotAny<K, {}>
|
||||
? K extends { __ctx?: infer Ctx } ? NonNullable<Ctx> : never : any
|
||||
, T extends (props: any, ctx: infer Ctx) => any ? Ctx : any
|
||||
>;
|
||||
type __VLS_FunctionalComponentProps<T, K> = '__ctx' extends keyof __VLS_PickNotAny<K, {}>
|
||||
? K extends { __ctx?: { props?: infer P } } ? NonNullable<P> : never
|
||||
: T extends (props: infer P, ...args: any) => any ? P
|
||||
: {};
|
||||
type __VLS_FunctionalComponent<T> = (props: (T extends { $props: infer Props } ? Props : {}) & Record<string, unknown>, ctx?: any) => __VLS_Element & {
|
||||
__ctx?: {
|
||||
attrs?: any,
|
||||
slots?: T extends { $slots: infer Slots } ? Slots : Record<string, any>,
|
||||
emit?: T extends { $emit: infer Emit } ? Emit : {},
|
||||
props?: (T extends { $props: infer Props } ? Props : {}) & Record<string, unknown>,
|
||||
expose?: (exposed: T) => void,
|
||||
}
|
||||
};
|
||||
type __VLS_NormalizeSlotReturns<S, R = NonNullable<S> extends (...args: any) => infer K ? K : any> = R extends any[] ? {
|
||||
[K in keyof R]: R[K] extends infer V
|
||||
? V extends Element ? V
|
||||
: V extends new (...args: any) => infer R ? ReturnType<__VLS_FunctionalComponent<R>>
|
||||
: V extends (...args: any) => infer R ? R
|
||||
: any
|
||||
: never
|
||||
} : R;
|
||||
type __VLS_FunctionalComponentProps<T, K> =
|
||||
'__ctx' extends keyof __VLS_PickNotAny<K, {}> ? K extends { __ctx?: { props?: infer P } } ? NonNullable<P> : never
|
||||
: T extends (props: infer P, ...args: any) => any ? P :
|
||||
{};
|
||||
type __VLS_IsFunction<T, K> = K extends keyof T
|
||||
? __VLS_IsAny<T[K]> extends false
|
||||
? unknown extends T[K]
|
||||
@ -55,13 +35,13 @@ export {};
|
||||
: true
|
||||
: false
|
||||
: false;
|
||||
type __VLS_NormalizeComponentEvent<Props, Emits, onEvent extends keyof Props, Event extends keyof Emits, CamelizedEvent extends keyof Emits> = (
|
||||
type __VLS_NormalizeComponentEvent<Props, Events, onEvent extends keyof Props, Event extends keyof Events, CamelizedEvent extends keyof Events> = (
|
||||
__VLS_IsFunction<Props, onEvent> extends true
|
||||
? Props
|
||||
: __VLS_IsFunction<Emits, Event> extends true
|
||||
? { [K in onEvent]?: Emits[Event] }
|
||||
: __VLS_IsFunction<Emits, CamelizedEvent> extends true
|
||||
? { [K in onEvent]?: Emits[CamelizedEvent] }
|
||||
: __VLS_IsFunction<Events, Event> extends true
|
||||
? { [K in onEvent]?: Events[Event] }
|
||||
: __VLS_IsFunction<Events, CamelizedEvent> extends true
|
||||
? { [K in onEvent]?: Events[CamelizedEvent] }
|
||||
: Props
|
||||
) & Record<string, unknown>;
|
||||
// fix https://github.com/vuejs/language-tools/issues/926
|
||||
@ -87,16 +67,14 @@ export {};
|
||||
}
|
||||
>
|
||||
>;
|
||||
type __VLS_ResolveEmits<
|
||||
Comp,
|
||||
Emits,
|
||||
TypeEmits = {},
|
||||
NormalizedEmits = __VLS_NormalizeEmits<Emits> extends infer E ? string extends keyof E ? {} : E : never,
|
||||
> = __VLS_SpreadMerge<NormalizedEmits, TypeEmits>;
|
||||
type __VLS_ResolveDirectives<T> = {
|
||||
[K in Exclude<keyof T, keyof __VLS_GlobalDirectives> & string as `v${Capitalize<K>}`]: T[K];
|
||||
type __VLS_PrettifyGlobal<T> = { [K in keyof T]: T[K]; } & {};
|
||||
type __VLS_PickFunctionalComponentCtx<T, K> = NonNullable<__VLS_PickNotAny<
|
||||
'__ctx' extends keyof __VLS_PickNotAny<K, {}> ? K extends { __ctx?: infer Ctx } ? Ctx : never : any
|
||||
, T extends (props: any, ctx: infer Ctx) => any ? Ctx : any
|
||||
>>;
|
||||
type __VLS_OmitStringIndex<T> = {
|
||||
[K in keyof T as string extends K ? never : K]: T[K];
|
||||
};
|
||||
type __VLS_PrettifyGlobal<T> = { [K in keyof T as K]: T[K]; } & {};
|
||||
type __VLS_UseTemplateRef<T> = Readonly<import('vue').ShallowRef<T | null>>;
|
||||
|
||||
function __VLS_getVForSourceType<T extends number | string | any[] | Iterable<any>>(source: T): [
|
||||
@ -112,8 +90,10 @@ export {};
|
||||
key: keyof T,
|
||||
index: number,
|
||||
][];
|
||||
function __VLS_getSlotParameters<S, D extends S>(slot: S, decl?: D):
|
||||
__VLS_PickNotAny<NonNullable<D>, (...args: any) => any> extends (...args: infer P) => any ? P : any[];
|
||||
// @ts-ignore
|
||||
function __VLS_getSlotParams<T>(slot: T): Parameters<__VLS_PickNotAny<NonNullable<T>, (...args: any[]) => any>>;
|
||||
// @ts-ignore
|
||||
function __VLS_getSlotParam<T>(slot: T): Parameters<__VLS_PickNotAny<NonNullable<T>, (...args: any[]) => any>>[0];
|
||||
function __VLS_asFunctionalDirective<T>(dir: T): T extends import('vue').ObjectDirective
|
||||
? NonNullable<T['created' | 'beforeMount' | 'mounted' | 'beforeUpdate' | 'updated' | 'beforeUnmount' | 'unmounted']>
|
||||
: T extends (...args: any) => any
|
||||
@ -121,12 +101,21 @@ export {};
|
||||
: (arg1: unknown, arg2: unknown, arg3: unknown, arg4: unknown) => void;
|
||||
function __VLS_makeOptional<T>(t: T): { [K in keyof T]?: T[K] };
|
||||
function __VLS_asFunctionalComponent<T, K = T extends new (...args: any) => any ? InstanceType<T> : unknown>(t: T, instance?: K):
|
||||
T extends new (...args: any) => any ? __VLS_FunctionalComponent<K>
|
||||
T extends new (...args: any) => any
|
||||
? (props: (K extends { $props: infer Props } ? Props : any) & Record<string, unknown>, ctx?: any) => __VLS_Element & {
|
||||
__ctx?: {
|
||||
attrs?: any;
|
||||
slots?: K extends { $slots: infer Slots } ? Slots : any;
|
||||
emit?: K extends { $emit: infer Emit } ? Emit : any;
|
||||
expose?(exposed: K): void;
|
||||
props?: (K extends { $props: infer Props } ? Props : any) & Record<string, unknown>;
|
||||
}
|
||||
}
|
||||
: T extends () => any ? (props: {}, ctx?: any) => ReturnType<T>
|
||||
: T extends (...args: any) => any ? T
|
||||
: __VLS_FunctionalComponent<{}>;
|
||||
: (_: {} & Record<string, unknown>, ctx?: any) => { __ctx?: { attrs?: any, expose?: any, slots?: any, emit?: any, props?: {} & Record<string, unknown> } };
|
||||
function __VLS_functionalComponentArgsRest<T extends (...args: any) => any>(t: T): 2 extends Parameters<T>['length'] ? [any] : [];
|
||||
function __VLS_asFunctionalElement<T>(tag: T, endTag?: T): (attrs: T & Record<string, unknown>) => void;
|
||||
function __VLS_asFunctionalSlot<S>(slot: S): S extends () => infer R ? (props: {}) => R : NonNullable<S>;
|
||||
function __VLS_asFunctionalSlot<S>(slot: S): (props: NonNullable<S> extends (props: infer P) => any ? P : {}) => void;
|
||||
function __VLS_tryAsConstant<const T>(t: T): T;
|
||||
}
|
||||
|
77
node_modules/.vue-global-types/vue_99_0_0_0.d.ts
generated
vendored
77
node_modules/.vue-global-types/vue_99_0_0_0.d.ts
generated
vendored
@ -2,6 +2,7 @@
|
||||
export {};
|
||||
|
||||
; declare global {
|
||||
const __VLS_intrinsicElements: __VLS_IntrinsicElements;
|
||||
const __VLS_directiveBindingRestFields: { instance: null, oldValue: null, modifiers: any, dir: any };
|
||||
const __VLS_unref: typeof import('vue').unref;
|
||||
const __VLS_placeholder: any;
|
||||
@ -23,31 +24,10 @@ export {};
|
||||
N2 extends keyof __VLS_GlobalComponents ? N2 extends N0 ? Pick<__VLS_GlobalComponents, N0 extends keyof __VLS_GlobalComponents ? N0 : never> : { [K in N0]: __VLS_GlobalComponents[N2] } :
|
||||
N3 extends keyof __VLS_GlobalComponents ? N3 extends N0 ? Pick<__VLS_GlobalComponents, N0 extends keyof __VLS_GlobalComponents ? N0 : never> : { [K in N0]: __VLS_GlobalComponents[N3] } :
|
||||
{ [K in N0]: unknown };
|
||||
type __VLS_FunctionalComponentCtx<T, K> = __VLS_PickNotAny<'__ctx' extends keyof __VLS_PickNotAny<K, {}>
|
||||
? K extends { __ctx?: infer Ctx } ? NonNullable<Ctx> : never : any
|
||||
, T extends (props: any, ctx: infer Ctx) => any ? Ctx : any
|
||||
>;
|
||||
type __VLS_FunctionalComponentProps<T, K> = '__ctx' extends keyof __VLS_PickNotAny<K, {}>
|
||||
? K extends { __ctx?: { props?: infer P } } ? NonNullable<P> : never
|
||||
: T extends (props: infer P, ...args: any) => any ? P
|
||||
: {};
|
||||
type __VLS_FunctionalComponent<T> = (props: (T extends { $props: infer Props } ? Props : {}) & Record<string, unknown>, ctx?: any) => __VLS_Element & {
|
||||
__ctx?: {
|
||||
attrs?: any,
|
||||
slots?: T extends { $slots: infer Slots } ? Slots : Record<string, any>,
|
||||
emit?: T extends { $emit: infer Emit } ? Emit : {},
|
||||
props?: (T extends { $props: infer Props } ? Props : {}) & Record<string, unknown>,
|
||||
expose?: (exposed: T) => void,
|
||||
}
|
||||
};
|
||||
type __VLS_NormalizeSlotReturns<S, R = NonNullable<S> extends (...args: any) => infer K ? K : any> = R extends any[] ? {
|
||||
[K in keyof R]: R[K] extends infer V
|
||||
? V extends Element ? V
|
||||
: V extends new (...args: any) => infer R ? ReturnType<__VLS_FunctionalComponent<R>>
|
||||
: V extends (...args: any) => infer R ? R
|
||||
: any
|
||||
: never
|
||||
} : R;
|
||||
type __VLS_FunctionalComponentProps<T, K> =
|
||||
'__ctx' extends keyof __VLS_PickNotAny<K, {}> ? K extends { __ctx?: { props?: infer P } } ? NonNullable<P> : never
|
||||
: T extends (props: infer P, ...args: any) => any ? P :
|
||||
{};
|
||||
type __VLS_IsFunction<T, K> = K extends keyof T
|
||||
? __VLS_IsAny<T[K]> extends false
|
||||
? unknown extends T[K]
|
||||
@ -55,13 +35,13 @@ export {};
|
||||
: true
|
||||
: false
|
||||
: false;
|
||||
type __VLS_NormalizeComponentEvent<Props, Emits, onEvent extends keyof Props, Event extends keyof Emits, CamelizedEvent extends keyof Emits> = (
|
||||
type __VLS_NormalizeComponentEvent<Props, Events, onEvent extends keyof Props, Event extends keyof Events, CamelizedEvent extends keyof Events> = (
|
||||
__VLS_IsFunction<Props, onEvent> extends true
|
||||
? Props
|
||||
: __VLS_IsFunction<Emits, Event> extends true
|
||||
? { [K in onEvent]?: Emits[Event] }
|
||||
: __VLS_IsFunction<Emits, CamelizedEvent> extends true
|
||||
? { [K in onEvent]?: Emits[CamelizedEvent] }
|
||||
: __VLS_IsFunction<Events, Event> extends true
|
||||
? { [K in onEvent]?: Events[Event] }
|
||||
: __VLS_IsFunction<Events, CamelizedEvent> extends true
|
||||
? { [K in onEvent]?: Events[CamelizedEvent] }
|
||||
: Props
|
||||
) & Record<string, unknown>;
|
||||
// fix https://github.com/vuejs/language-tools/issues/926
|
||||
@ -87,16 +67,14 @@ export {};
|
||||
}
|
||||
>
|
||||
>;
|
||||
type __VLS_ResolveEmits<
|
||||
Comp,
|
||||
Emits,
|
||||
TypeEmits = Comp extends { __typeEmits?: infer T } ? unknown extends T ? {} : import('vue').ShortEmitsToObject<T> : {},
|
||||
NormalizedEmits = __VLS_NormalizeEmits<Emits> extends infer E ? string extends keyof E ? {} : E : never,
|
||||
> = __VLS_SpreadMerge<NormalizedEmits, TypeEmits>;
|
||||
type __VLS_ResolveDirectives<T> = {
|
||||
[K in Exclude<keyof T, keyof __VLS_GlobalDirectives> & string as `v${Capitalize<K>}`]: T[K];
|
||||
type __VLS_PrettifyGlobal<T> = { [K in keyof T]: T[K]; } & {};
|
||||
type __VLS_PickFunctionalComponentCtx<T, K> = NonNullable<__VLS_PickNotAny<
|
||||
'__ctx' extends keyof __VLS_PickNotAny<K, {}> ? K extends { __ctx?: infer Ctx } ? Ctx : never : any
|
||||
, T extends (props: any, ctx: infer Ctx) => any ? Ctx : any
|
||||
>>;
|
||||
type __VLS_OmitStringIndex<T> = {
|
||||
[K in keyof T as string extends K ? never : K]: T[K];
|
||||
};
|
||||
type __VLS_PrettifyGlobal<T> = { [K in keyof T as K]: T[K]; } & {};
|
||||
type __VLS_UseTemplateRef<T> = Readonly<import('vue').ShallowRef<T | null>>;
|
||||
|
||||
function __VLS_getVForSourceType<T extends number | string | any[] | Iterable<any>>(source: T): [
|
||||
@ -112,8 +90,10 @@ export {};
|
||||
key: keyof T,
|
||||
index: number,
|
||||
][];
|
||||
function __VLS_getSlotParameters<S, D extends S>(slot: S, decl?: D):
|
||||
__VLS_PickNotAny<NonNullable<D>, (...args: any) => any> extends (...args: infer P) => any ? P : any[];
|
||||
// @ts-ignore
|
||||
function __VLS_getSlotParams<T>(slot: T): Parameters<__VLS_PickNotAny<NonNullable<T>, (...args: any[]) => any>>;
|
||||
// @ts-ignore
|
||||
function __VLS_getSlotParam<T>(slot: T): Parameters<__VLS_PickNotAny<NonNullable<T>, (...args: any[]) => any>>[0];
|
||||
function __VLS_asFunctionalDirective<T>(dir: T): T extends import('vue').ObjectDirective
|
||||
? NonNullable<T['created' | 'beforeMount' | 'mounted' | 'beforeUpdate' | 'updated' | 'beforeUnmount' | 'unmounted']>
|
||||
: T extends (...args: any) => any
|
||||
@ -121,12 +101,21 @@ export {};
|
||||
: (arg1: unknown, arg2: unknown, arg3: unknown, arg4: unknown) => void;
|
||||
function __VLS_makeOptional<T>(t: T): { [K in keyof T]?: T[K] };
|
||||
function __VLS_asFunctionalComponent<T, K = T extends new (...args: any) => any ? InstanceType<T> : unknown>(t: T, instance?: K):
|
||||
T extends new (...args: any) => any ? __VLS_FunctionalComponent<K>
|
||||
T extends new (...args: any) => any
|
||||
? (props: (K extends { $props: infer Props } ? Props : any) & Record<string, unknown>, ctx?: any) => __VLS_Element & {
|
||||
__ctx?: {
|
||||
attrs?: any;
|
||||
slots?: K extends { $slots: infer Slots } ? Slots : any;
|
||||
emit?: K extends { $emit: infer Emit } ? Emit : any;
|
||||
expose?(exposed: K): void;
|
||||
props?: (K extends { $props: infer Props } ? Props : any) & Record<string, unknown>;
|
||||
}
|
||||
}
|
||||
: T extends () => any ? (props: {}, ctx?: any) => ReturnType<T>
|
||||
: T extends (...args: any) => any ? T
|
||||
: __VLS_FunctionalComponent<{}>;
|
||||
: (_: {} & Record<string, unknown>, ctx?: any) => { __ctx?: { attrs?: any, expose?: any, slots?: any, emit?: any, props?: {} & Record<string, unknown> } };
|
||||
function __VLS_functionalComponentArgsRest<T extends (...args: any) => any>(t: T): 2 extends Parameters<T>['length'] ? [any] : [];
|
||||
function __VLS_asFunctionalElement<T>(tag: T, endTag?: T): (attrs: T & Record<string, unknown>) => void;
|
||||
function __VLS_asFunctionalSlot<S>(slot: S): S extends () => infer R ? (props: {}) => R : NonNullable<S>;
|
||||
function __VLS_asFunctionalSlot<S>(slot: S): (props: NonNullable<S> extends (props: infer P) => any ? P : {}) => void;
|
||||
function __VLS_tryAsConstant<const T>(t: T): T;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user