1import{r as rt,f as lt}from"./ef081a17.js";import{P as ct,t as dt,s as ut,a as pt,r as ft,d as mt,g as gt,b as ht}from"./033194f7.js";import{M as j,N as vt,j as _t,O as yt,u as p,P as z,Q as bt,a as V,g as St}from"./64c33136.js";import{Z as kt,B as Ct,a as wt,r as xt}from"./c1d034c1.js";import{g as Rt,u as $t,a as Tt}from"./c2e46639.js";import{n as y}from"./210c1b6c.js";import{d as It}from"./4f0f2a08.js";import{c as Pt,a as At}from"./bb0d8a57.js";import{S as Et,N as qt}from"./02172d0d.js";import{m as X}from"./7578a93c.js";import{p as Lt}from"./a02800a7.js";import"./3cfb730f.js";import"./f5777b92.js";import"./6a887298.js";/* empty css */import"./bfc3cfb7.js";import"./e21b539b.js";/* empty css */import"./0dca7c7d.js";import"./26cdcbfc.js";import"./42619c3f.js";const Ft=t=>{const s=[];return t.forEach(e=>{if(e.isFolder){s.push(e);const i=t.filter(o=>o.fid===e.id);s.push(...i);return}e.fid&&t.find(o=>o.id===e.fid)||s.push(e)}),s},Ot=t=>{const s=[];for(let e of t){let[i,o,a,r,n,l,c,f,m,S,G,g,h,d,v,_,u=void 0,x,et]=e;j(i),a=a||void 0,n=n||void 0,l=l||void 0,c=c||void 0,f=f||void 0,m=m||void 0;const it=S?[S,G]:void 0;g=g||void 0,h=h||void 0,v=v||void 0,_=_||[],x=+x||999,d=d.map(st=>{let[R,$,T,B,at,I,P,A,E,q,b,ot,L,F,O,N,M,D]=st;j(R),$=$||void 0,T=T||void 0;const nt=B?[B,at]:void 0;return I=!!I,N=N||void 0,P=P||void 0,A=A||void 0,E=E||void 0,q=q||void 0,b=b||b===0?b:void 0,L=L||void 0,F=F||void 0,O=O||void 0,M=+M||999,D=+D||void 0,Object.freeze({id:R,name:$,cn:T,geo:nt,isFolder:I,folder:N,mid:P,uid:A,image:E,fid:q,ep:b,s:ot,mark:L,origin:F,originLink:O,priority:M,density:D})}),d=Ft(d);let k;u&&(k={src:u[0],ids:u[1],modified:u[2]},u[3]&&u[4]&&(k.w=u[3],k.h=u[4])),s.push(Object.freeze({id:i,cn:o,en:a,title:r,city:n,color:l,cover:c,fade:f,cat:m,geo:it,zoom:g,modified:h,points:d,abbr:v,tags:_,theme:k,priority:x,icon:et}))}return s},Nt=(t,s)=>{s||(s={});const e=new XMLHttpRequest;if(e.open("GET",`/api/g.svg?d=${vt()}`,!0),e.onload=()=>{try{const i=JSON.parse(e.responseText);t(Ot(i))}catch{}},e.send(),s.onUpdate){let i=0;e.addEventListener("progress",o=>{let a=i+(1-i)*.03;const{loaded:r,total:n}=o;n>0&&(a=r/n),!(a<i)&&(i=a,s.onUpdate(a))})}},Mt=t=>{const s=new ct;Nt(e=>{window.bangumis=e,s.remove();const{GeoJSON:i,BangumiIds:o,PointIds:a,Citys:r}=dt(e);t({GeoJSON:i,bangumis:e,BangumiIds:o,PointIds:a,Citys:r})},{onUpdate(e){s.update(e)}})};var Dt=function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"point-card"},[e("div",{staticClass:"card-image-wrap",on:{click:t.handleCardClick}},[t.imgSrc?e("img",{staticClass:"card-image",attrs:{src:t.imgSrc}}):e("div",{staticClass:"no-image-placeholder",style:{"background-color":t.color}}),e("input",{ref:"fileInput",staticStyle:{display:"none"},attrs:{type:"file",accept:"image/*"},on:{click:function(i){i.stopPropagation()},change:t.handleImageFile}}),e("button",{staticClass:"ui-btn current-wire upload-capture-btn",on:{click:function(i){return i.stopPropagation(),t.handleUploadCapture.apply(null,arguments)}}},[t._v("ä¸ä¼ æªå¾")]),e("label",[e("div",{staticClass:"ui-checkbox card-checkbox",on:{click:function(i){i.stopPropagation()}}},[e("input",{attrs:{type:"checkbox"},domProps:{checked:t.data.selected},on:{input:function(i){return t.$emit("checkboxUpdate",t.data.folder,t.data.id,i)}}}),e("span")])]),e("svg",{staticClass:"handle-icon",attrs:{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"#ffffff",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},on:{click:function(i){i.stopPropagation()}}},[e("path",{attrs:{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}}),e("path",{attrs:{d:"M4 10h16"}}),e("path",{attrs:{d:"M4 14h16"}}),e("path",{attrs:{d:"M9 18l3 3l3 -3"}}),e("path",{attrs:{d:"M9 6l3 -3l3 3"}})]),e("div",{staticClass:"ep-select"},[e("div",{ref:"epBtn",staticClass:"ep-btn",on:{mouseenter:function(i){return t.handleEpMouseHover(i,1)},mouseleave:function(i){return t.handleEpMouseHover(i,0)},click:function(i){i.stopPropagation()}}},[t._v(" "+t._s(typeof t.epSelected=="string"?t.epSelected:`EP${t.epSelected}`)+" "),e("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}},[e("path",{attrs:{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}}),e("path",{attrs:{d:"M6 9l6 6l6 -6"}})])]),e("div",{directives:[{name:"show",rawName:"v-show",value:t.showDropdown,expression:"showDropdown"}],ref:"dropdown",staticClass:"ep-dropdown",on:{mouseleave:function(i){return t.handleEpMouseHover(i,0)},click:function(i){i.stopPropagation()}}},[e("ul",[t._l(t.epNumber,function(i){return e("li",{key:`EP${i}`,on:{click:function(o){return t.handleChangeEp(i)}}},[t._v("EP"+t._s(i))])}),t._l(t.additionalTags,function(i){return e("li",{key:i,on:{click:function(o){return t.handleChangeEp(i)}}},[t._v(t._s(i))])})],2)])]),t.warning?e("div",{staticClass:"warning-area"},[e("svg",{staticClass:"icon icon-tabler icons-tabler-outline icon-tabler-alert-circle",attrs:{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",color:"#FFF",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},on:{mouseenter:function(i){t.showWarningTooltip=!0},mouseleave:function(i){t.showWarningTooltip=!1}}},[e("path",{attrs:{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}}),e("path",{attrs:{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0"}}),e("path",{attrs:{d:"M12 8v4"}}),e("path",{attrs:{d:"M12 16h.01"}})]),t.showWarningTooltip?e("div",{staticClass:"warning-tooltip"},[t._v(" "+t._s(t.warning)+" ")]):t._e()]):t._e()]),e("div",{staticClass:"card-info"},[e("input",{staticClass:"info-title-input",attrs:{placeholder:"å°æ åå"},domProps:{value:t.data.name},on:{input:function(i){return t.$emit("updateInfo",{name:i.target.value})}}}),e("input",{staticClass:"info-title-cn-input",attrs:{placeholder:"䏿è¯å"},domProps:{value:t.data.cn},on:{input:function(i){return t.$emit("updateInfo",{cn:i.target.value})}}}),e("textarea",{staticClass:"info-desc-input",attrs:{placeholder:"ææ ç®ä»"},domProps:{value:t.data.mark},on:{input:function(i){return t.$emit("updateInfo",{mark:i.target.value})}}})])])},Gt=[];const Bt={props:{color:{type:String,default:"#d1d5db"},data:{type:Object,default:()=>({id:"",name:"",cnName:"",description:"",selected:!1})},epNumber:{type:Number,default:1},additionalTags:{type:Array,default:()=>[]}}
1,data(){return{showDropdown:!1,epSelected:1,imgSrc:null,showWarningTooltip:!1}},methods:{handleCardClick(){this.$emit("onCardClick")},handleUploadCapture(){this.$refs.fileInput.click()},async handleImageFile(t){const s=t.target.files[0];if(!s)return;let{file:e,time:i,seasonEp:o}=await Rt(s);o&&(typeof o.ep=="number"?this.epNumber=Math.max(this.epNumber,o.ep):typeof o.ep=="string"&&this.additionalTags.indexOf(o.ep)==-1&&this.additionalTags.push(o.ep),o.ep&&(this.epSelected=o.ep)),this.$emit("updateInfo",{s:i,ep:this.epSelected}),this.$emit("uploadImage",e);const a=new FileReader;a.onload=r=>{this.imgSrc=r.target.result},a.readAsDataURL(e)},handleEpMouseHover(t,s){const e=(a,r,n)=>{const l=n.getBoundingClientRect();return a>=l.left&&a<=l.right&&r>=l.top&&r<=l.bottom},i=t.clientX,o=t.clientY;!this.showDropdown&&s?this.showDropdown=!0:!e(i,o,this.$refs.epBtn)&&!e(i,o,this.$refs.dropdown)&&(this.showDropdown=!1)},handleChangeEp(t){this.epSelected=t,this.$emit("updateInfo",{ep:this.epSelected}),this.showDropdown=!1}},computed:{warning(){return this.data.s?"":"æ¶é´ä¸å ¨"}}},U={};var jt=y(Bt,Dt,Gt,!1,zt,null,null,null);function zt(t){for(let s in U)this[s]=U[s]}const Vt=function(){return jt.exports}();var Ut=function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{ref:"tagInput",staticClass:"tag-input"},[e("div",{ref:"tagsWrap",staticClass:"tags-wrap"},t._l(t.modelValue,function(i,o){return e("div",{key:o,staticClass:"tag",on:{click:function(a){return t.deleteTag(o)}}},[t._v(" "+t._s(i)+" ")])}),0),e("textarea",{directives:[{name:"model",rawName:"v-model",value:t.inputContent,expression:"inputContent"}],staticClass:"tag-input-native",style:{paddingLeft:`${t.inputOffsetLeft}px`,paddingTop:`${t.inputOffsetTop}px`},domProps:{value:t.inputContent},on:{keyup:function(i){return!i.type.indexOf("key")&&t._k(i.keyCode,"enter",13,i.key,"Enter")?null:(i.stopPropagation(),t.addTag.apply(null,arguments))},input:[function(i){i.target.composing||(t.inputContent=i.target.value)},t.deleteEnter]}})])},Ht=[];const Wt={props:{modelValue:{type:Array,default:()=>[]}},model:{prop:"modelValue",event:"update:modelValue"},data(){return{inputContent:"",inputOffsetTop:0,inputOffsetLeft:0}},mounted(){this.modelValue.push("OP","ED","OVA"),this.$emit("update:modelValue",this.modelValue),this.$nextTick(()=>{this.updateOffset()})},methods:{deleteEnter(t){let s=t.target.value;s.at(-1)==` 2`&&(this.inputContent=s.slice(0,-1))},updateOffset(){const t=this.$refs.tagsWrap.getBoundingClientRect(),s=this.$refs.tagsWrap.lastChild.getBoundingClientRect();if(!s){this.inputOffsetLeft=0,this.inputOffsetTop=0;return}this.inputOffsetLeft=s.right-t.x+2,this.inputOffsetTop=s.y-t.y+2},addTag(){this.inputContent=this.inputContent.trim(),this.inputContent!==""&&(this.modelValue.push(this.inputContent),this.$emit("update:modelValue",this.modelValue),this.inputContent="",this.$nextTick(()=>{this.updateOffset()}))},deleteTag(t){this.modelValue.splice(t,1),this.$emit("update:modelValue",this.modelValue)}}},H={};var Jt=y(Wt,Ut,Ht,!1,Yt,"1ae460ed",null,null);function Yt(t){for(let s in H)this[s]=H[s]}const Zt=function(){return Jt.exports}();var Kt=function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("input",{attrs:{type:"number"},domProps:{value:t.inputValue},on:{input:t.handleUpdate}})},Xt=[];const Qt={props:{modelValue:{type:Number,default:1}},model:{prop:"modelValue",event:"update:modelValue"},computed:{inputValue(){return this.modelValue.toString()}},methods:{handleUpdate(t){const s=parseInt(t.target.value)||1;this.$emit("update:modelValue",s>0?s:1)}}},W={};var te=y(Qt,Kt,Xt,!1,ee,null,null,null);function ee(t){for(let s in W)this[s]=W[s]}const ie=function(){return te.exports}();let J=null;const se=(t,s)=>{if(!s)return;let{aid:e,geo:i,zoom:o,points:a}=s;if(e&&(i||a.length&&(i=a[0].geo)),i||a.length&&(i=a[0].geo),i||(i=[36.5,139.4]),!o){const{density:n}=s;n!==void 0?o=getZoomFormDistance(n):o=a?11:15}const r={center:[i[1],i[0],0],zoom:o};t.flyTo(r)},ae=(t,s)=>{const e={center:[s[1],s[0],0],zoom:t.getZoom()};t.flyTo(e)},oe=(t,s,e)=>{clearTimeout(J),J=setTimeout(()=>{const i=e[s];i?ut(t,i):location.search==="?c=135,34&z=15"?pt(t,e):ft(t)},100)},Q=(t,s)=>{t&&(s?(t.setFilterSafe("bangumi-point",["match",["get","aid"],[+s],!0,!1]),t.setFilterSafe("bangumis",!1)):(t.setFilterSafe("bangumi-point",["step",["zoom"],["all",["get","isDil"]],9,["get","isDil"],12,!0]),t.setFilterSafe("bangumis",null)))},w={bangumis:null},tt=t=>w.bangumis?w.bangumis[t]:null,ne=t=>{w.bangumis=t};let C=new X.Marker({color:"currentColor"});const re=(t,s)=>{let e=[137.3,37.8],i=5.7,a=Pt({container:t,style:At,center:e,zoom:i,attributionControl:!1});window.map=a,window.mapboxGl=X;const r=new Et;a.addControl(r);const n=new qt;a.addControl(n,"bottom-right"),a.addControl(mt,"bottom-right"),C.set
2LngLat([0,0]),C.addTo(a),C.remove(),C.getElement().addEventListener("click",c=>{c.stopPropagation()});let l=!1;return a.on("load",()=>{l=!0}),Mt(({GeoJSON:c,bangumis:f,BangumiIds:m,PointIds:S,Citys:G})=>{ne(m),_t("ä½åå°æ ä¿¡æ¯è·åæå");const g=()=>{a.addSource("points",{type:"geojson",data:c,tolerance:.9}),a.addLayer({id:"bangumi-point",source:"points",type:"circle",layout:{"circle-sort-key":90001},filter:!1,paint:{"circle-color":["get","color"],"circle-radius":{base:1.75,stops:[[12,4],[18,8],[22,11]]},"circle-stroke-width":1.5,"circle-stroke-color":"#fff"}}),a.on("mouseenter","bangumi-point",()=>{a.getCanvas().style.cursor="pointer"}),a.on("mouseleave","bangumi-point",()=>{a.getCanvas().style.cursor=""}),Q(a,s);const h=new URLSearchParams(window.location.search),d=h.get("c"),v=h.get("z");/^\d+(\.\d+),\d+(\.\d+)$/.test(d)&&(e=d.split(/,/g).map(_=>+_)),/^[\d\.]+$/.test(v)&&(i=+v),a.flyTo({center:e,zoom:i,duration:1500,essential:!0}),setTimeout(()=>{setTimeout(rt,10),gt(a,_=>{}),oe(a,s,w.bangumis)})};l?g():a.on("load",g)}),a};var le=function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"mapbox-container"},[e("div",{ref:"basicMapbox",staticClass:"mapbox-inset"})])},ce=[];const de={data(){return this.map=null,{}},methods:{flyToGeo(...t){ae(this.map,...t)},addTemporaryPointAndRemoveLast(t){let s=[];const e={type:"FeatureCollection"};t.forEach((i,o)=>{const r={pid:i.id,name:i.name,aid:this.bangumiId,color:"#334155",isFolder:!1,isDil:!0},{geo:n}=i;s.push({type:"Feature",properties:r,geometry:{type:"Point",coordinates:[n[1],n[0]]}}),e.features=s,this.map.getSource("import-points").setData(e)})}},mounted(){this.map=re(this.$refs.basicMapbox,this.bangumiId),this.map.on("load",()=>{this.map.addSource("import-points",{type:"geojson",data:{type:"FeatureCollection",features:[]},tolerance:.9}),this.map.addLayer({id:"import",source:"import-points",type:"circle",layout:{"circle-sort-key":90001},paint:{"circle-color":["get","color"],"circle-radius":{base:1.75,stops:[[12,4],[18,8],[22,11]]},"circle-stroke-width":1.5,"circle-stroke-color":"#fff"}})})},props:["bangumiId"],watch:{bangumiId(){Q(this.map,this.bangumiId),se(this.map,tt(this.bangumiId))}}},Y={};var ue=y(de,le,ce,!1,pe,null,null,null);function pe(t){for(let s in Y)this[s]=Y[s]}const fe=function(){return ue.exports}();var me=function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"lds-ring",style:{color:t.color,width:t.size,height:t.size}},[e("div"),e("div"),e("div"),e("div")])},ge=[];const he={props:{color:{type:String,default:"#007dcb"},size:{type:String,default:"25px"}}},Z={};var ve=y(he,me,ge,!1,_e,"0a16ad20",null,null);function _e(t){for(let s in Z)this[s]=Z[s]}const ye=function(){return ve.exports}();var be=function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"main-box"},[e("Map",{ref:"map",staticClass:"mapbox-container",attrs:{bangumiId:t.bangumiId}}),e("div",{staticClass:"view-import-container"},[e("div",{staticClass:"view-import-box"},[e("div",{staticClass:"head"},[e("router-link",{staticStyle:{float:"left","margin-right":"10px"},attrs:{to:"/"}},[e("svg",{staticClass:"icon icon-tabler icons-tabler-outline icon-tabler-arrow-back-up",attrs:{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}},[e("path",{attrs:{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}}),e("path",{attrs:{d:"M9 14l-4 -4l4 -4"}}),e("path",{attrs:{d:"M5 10h11a4 4 0 1 1 0 8h-1"}})])]),e("h2",[t._v("导å
¥å°æ ")])],1),e("div",{staticClass:"body",staticStyle:{display:"flex","flex-direction":"column",gap:"20px"}},[e("div",[e("h3",[t._v("éæ©ä½å")]),e("div",[e("func-select-bangumi",{model:{value:t.bangumiId,callback:function(i){t.bangumiId=i},expression:"bangumiId"}})],1)]),e("div",{staticStyle:{"margin-top":"50px"}},[e("h3",[t._v("ä» Google Maps èªå®ä¹å°å¾å¯¼å
¥å°æ ")]),e("a",{staticClass:"ui-btn current-wire",staticStyle:{"margin-top":"10px","user-select":"none"},attrs:{disabled:!t.bangumiId},on:{click:function(i){t.bangumiId&&t.chooseGeoFile()}}},[t._v("ä¸ä¼ KML å°æ æä»¶")]),t.bangumiId?t._e():e("p",{staticStyle:{"margin-top":"10px",color:"gray"}},[t._v("请å
éæ©ä½å")])]),t.bangumiId?e("div",[e("div",{staticClass:"ep-control-child-block"},[e("span",[t._v("ä½åæ»éæ°")]),e("NumberInput",{model:{value:t.epNumber,callback:function(i){t.epNumber=i},expression:"epNumber"}})],1),e("div",{staticClass:"ep-control-child-block"},[e("span",[t._v("èªå®ä¹ EP å")]),e("TagInput",{model:{value:t.additionalTags,callback:function(i){t.additionalTags=i},expression:"additionalTags"}})],1)]):t._e(),t.infoRequestStatus.type=="LOADING"?e("div",{staticStyle:{display:"flex","align-items":"center",gap:"10px"}},[e("SpinLoading"),t.infoRequestStatus.total==0?e("span",[t._v("读åä¸")]):e("span",[t._v("è·åå°æ ä¿¡æ¯ä¸["+t._s(t.infoRequestStatus.loaded)+"/"+t._s(t.infoRequestStatus.total)+"]")]
2)],1):t._e(),t.infoRequestStatus.type=="ERROR"?e("div",[t._v(" åºéäº (â¥ï¹â¥) ")]):t._e(),t.infoRequestStatus.type=="READY"?e("div",{staticStyle:{display:"flex","flex-direction":"column",gap:"10px"}},t._l(t.classifiedPoints,function(i,o){return e("div",{key:o},[e("label",[e("div",{staticClass:"ui-checkbox",staticStyle:{float:"left",margin:"3px 10px",width:"16px",height:"16px"}},[e("input",{attrs:{type:"checkbox"},domProps:{checked:i.selected},on:{input:function(a){return t.groupCheckChange(o,a)}}}),e("span")]),e("h3",[t._v(t._s(o))])]),e("br"),e("draggable",t._b({staticStyle:{"min-height":"250px"},attrs:{handle:".handle-icon",group:"points"},on:{start:function(a){t.drag[o]=!0},end:function(a){t.drag[o]=!1}},model:{value:t.classifiedPoints[o].points,callback:function(a){t.$set(t.classifiedPoints[o],"points",a)},expression:"classifiedPoints[folder].points"}},"draggable",t.dragOptions,!1),[e("transition-group",{staticClass:"point-list",attrs:{type:"transition",name:t.drag[o]?null:"flip-list"}},t._l(i.points,function(a,r){var n;return e("point-card",{key:a.id,attrs:{data:a,color:(n=t.bangumi)===null||n===void 0?void 0:n.color,epNumber:t.epNumber,additionalTags:t.additionalTags},on:{uploadImage:function(l){return t.updateStorage(a,a.id,l)},onCardClick:function(l){return t.flyToGeo(a.geo)},checkboxUpdate:t.singleCheckChange,updateInfo:function(l){return t.handleUpdatePointInfo(a,l,a.folder,r)}}})}),1)],1)],1)}),0):t._e(),t.infoRequestStatus.type=="READY"?e("div",[e("h4",{staticStyle:{"margin-bottom":"10px"}},[t._v("å·²éä¸ç»è®¡")]),t._v(" 导å
¥å°æ æ°: "+t._s(t.selectedStatistic.all)),e("br"),t._v(" ç¼ºå°æªå¾æ°: "+t._s(t.selectedStatistic.noImage)),e("br"),t._v(" ç¼ºå°æ¶é´æ°: "+t._s(t.selectedStatistic.noTime)),e("br"),e("button",{staticClass:"ui-btn current-wire",staticStyle:{"margin-top":"10px"},attrs:{disabled:t.traceRequestStatus.type=="LOADING"},on:{click:t.getTrace}},[t._v("ä½¿ç¨ trace.moe æ¹éæåç©ºçæªå¾æ¶é´")]),t.traceRequestStatus.type=="LOADING"?e("div",{staticStyle:{display:"flex","align-items":"center",gap:"10px"}},[e("SpinLoading"),e("span",[t._v("è·åå°æ æ¶é´ä¸["+t._s(t.traceRequestStatus.loaded)+"/"+t._s(t.traceRequestStatus.total)+"]")])],1):t._e(),t.traceRequestStatus.type=="ERROR"?e("div",[t._v(" "+t._s(t.traceRequestStatus.total)+" ä¸ªå°æ è·å失败 (â¥ï¹â¥) ")]):t._e()]):t._e(),t._m(0),e("div",{staticClass:"submit-form"},[t.iAmCreator?t._e():e("div",{staticClass:"label-item"},[e("div",{staticClass:"label-name"},[t._v("å°æ æ¥æºæå")]),e("input",{directives:[{name:"model",rawName:"v-model",value:t.origin,expression:"origin"}],staticClass:"ui-input middle",attrs:{type:"text",placeholder:"å°æ æ¥æºæå"},domProps:{value:t.origin},on:{input:function(i){i.target.composing||(t.origin=i.target.value)}}}),e("div",{staticClass:"label-tip"},[t._v("å¨å°æ å³ä¸è§æ¾ç¤ºçæ¥æºä¿¡æ¯")]),e("div",{staticClass:"label-tip"},[t._v("çç©ºä¼æ¾ç¤ºå½åç»å½ç¨æ·åç§°")])]),t.iAmCreator?t._e():e("div",{staticClass:"label-item"},[e("div",{staticClass:"label-name"},[t._v("å°æ æ¥æºé¾æ¥")]),e("input",{directives:[{name:"model",rawName:"v-model",value:t.originLink,expression:"originLink"}],staticClass:"ui-input middle line",attrs:{type:"text",placeholder:"å°æ æ¥æºé¾æ¥"},domProps:{value:t.originLink},on:{input:function(i){i.target.composing||(t.originLink=i.target.value)}}}),e("div",{staticClass:"label-tip"},[t._v("设置åï¼å³ä¸è§æ¥æºä¿¡æ¯ä¼æ¾ç¤ºæé¾æ¥å½¢å¼")])]),e("label",[e("div",{staticClass:"ui-checkbox",staticStyle:{float:"left","margin-right":"10px"}},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.sourceAllowed,expression:"sourceAllowed"}],attrs:{type:"checkbox",disabled:t.iAmCreator},domProps:{checked:Array.isArray(t.sourceAllowed)?t._i(t.sourceAllowed,null)>-1:t.sourceAllowed},on:{change:function(i){var o=t.sourceAllowed,a=i.target,r=!!a.checked;if(Array.isArray(o)){var n=null,l=t._i(o,n);a.checked?l<0&&(t.sourceAllowed=o.concat([n])):l>-1&&(t.sourceAllowed=o.slice(0,l).concat(o.slice(l+1)))}else t.sourceAllowed=r}}}),e("span")]),t._v(" 导å
¥çå°æ ä¿¡æ¯å·²ç¡®å®æ¥æºå¤å
许å¼ç¨ ")]),e("label",[e("div",{staticClass:"ui-checkbox",staticStyle:{float:"left","margin-right":"10px"}},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.iAmCreator,expression:"iAmCreator"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(t.iAmCreator)?t._i(t.iAmCreator,null)>-1:t.iAmCreator},on:{input:function(i){return i.target.checked?t.sourceAllowed=!0:{}},change:function(i){var o=t.iAmCreator,a=i.target,r=!!a.checked;if(Array.isArray(o)){var n=null,l=t._i(o,n);a.checked?l<0&&(t.iAmCreator=o.concat([n])):l>-1&&(t.iAmCreator=o.slice(0,l).concat(o.slice(l+1)))}else t.iAmCreator=r}}}),e("span")]),t._v(" æå°±æ¯è¿äºå°æ ä¿¡æ¯çå建人 ")]),e("button",{staticClass:"ui-btn current-wire submit-btn",attrs:{disabled:!t.sourceAllowed||t.submitRequestStatus.type=="LOADING"},on:{click:t.submit}},[t._v("æäº¤éä¸çé¨åå°æ ")]),t.submitRequestStatus.type=="LOADING"?e("div",{staticStyle:{display:"flex","align-items":"center",gap:"10px"}},[e("SpinLoading"),e("span",[t._v(t._s(t.submitRequestStatus.step=="images"?"ä¸ä¼ å¾å":"ä¸ä¼ å°æ ")+"["+t._s(t.submitRequestStatus.loaded)+"/"+t._s(t.submitRequestStatus.total)+"]")]
2)],1):t._e(),t.submitRequestStatus.type=="ERROR"?e("div",[t._v(" "+t._s(t.submitRequestStatus.total)+" ä¸ªå°æ ä¸ä¼ 失败 (â¥ï¹â¥) ")]):t._e(),e("span",{staticStyle:{"margin-top":"50px"}},[t._v(" æäº¤çå°æ éç»è¿å®¡æ ¸åæ¹å¯æ¾ç¤º ")])]),e("div")])])])],1)},Se=[function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticStyle:{margin:"20px 0 0 0",float:"left"}},[t._v(" éæ©å¾çæææ½æªå¾æä»¶å°æªå¾æ¡å
å³å¯ä¸ä¼ å¯¹åºæªå¾"),e("br"),t._v(" 建议ä¸ä¼ 髿¸
æ åå¹å¨ç»æªå¾"),e("br"),e("span",{staticStyle:{color:"red"}},[t._v(" 请å¿ä¸ä¼ 带æåææ¾æé®çææºæªå±ã"),e("br"),t._v(" 请å¿å¨æ¤ä¸ä¼ 宿¯ç
§çï¼è¯·å¿å¨æ¤ä¸ä¼ 巡礼对æ¯å¾ï¼"),e("br")]),t._v(" ä¸ä¼ PotPlayer çå¸¸è§ææ¾å¨æªåçæªå¾ï¼ä¼èªå¨å°è¯æ ¹æ®æä»¶åè·å对åºéæ°åææ¾æ¶é´"),e("br"),t._v(" å¾çä¼èªå¨è½¬æ¢æ JPEG 80% å缩çè¿è¡ä¸ä¼ "),e("br")])}];const ke={components:{funcSelectBangumi:lt,PointCard:Vt,TagInput:Zt,NumberInput:ie,draggable:It,Map:fe,SpinLoading:ye},data(){return this.imageStorage={},this.dragOptions={animation:200,group:"description",disabled:!1,ghostClass:"ghost"},{infoRequestStatus:{type:"FREE",total:0,loaded:0},traceRequestStatus:{type:"FREE",total:0,loaded:0},submitRequestStatus:{type:"FREE",step:null,loaded:0,total:0},bangumiId:null,kml:null,classifiedPoints:null,epNumber:1,additionalTags:[],drag:{},selectedStatistic:{all:0,noImage:0,noTime:0},sourceAllowed:!1,iAmCreator:!1,origin:"",originLink:""}},watch:{},computed:{...Vuex.mapState(["user"]),bangumi(){return tt(this.bangumiId)}},methods:{flyToGeo(...t){this.$refs.map.flyToGeo(...t)},updateStorage(t,s,e){t.selected&&!this.imageStorage[s]&&this.selectedStatistic.noImage--,this.imageStorage[s]={binary:e,url:null}},async chooseGeoFile(){let t=await yt({multiple:!1});await this.readGeoFile(t)},async readGeoFile(t){this.infoRequestStatus={type:"LOADING",loaded:0,total:0};const{name:s}=t;if(!/\.km[lz]$/i.test(s))return p.toast("è¿ä¸æ¯ä¸ä¸ª kml æ kmz æ ¼å¼æä»¶");let e=null;if(/\.kmz$/i.test(s)){const n=(await new kt(new Ct(t)).getEntries()).find(c=>/\.kml$/i.test(c.filename));if(!n)return p.toast("kmz æä»¶ä¸æ²¡ææ¾å° kml æä»¶");const l=await n.getData(new wt("text/plain"));e=await z(l)}else/\.kml$/i.test(s)?e=await z(t):p.toast("è¿ä¸æ¯ä¸ä¸ª kml æ kmz æ ¼å¼æä»¶");const i=Lt(e);this.infoRequestStatus.total=i.points.length,this.kml=i,this.selectedStatistic.all=i.points.length,this.selectedStatistic.noTime=i.points.length,this.selectedStatistic.noImage=i.points.length;const o={};for(const a of i.points)a.mark=a.description,new Promise((r,n)=>{a.geo&&a.geo.length==2?r():n()}).then(()=>ht([a.geo[0],a.geo[1]])).then(r=>{if(r.citys&&r.citys.length)a.folder=r.citys.join(" ");else throw"citys not found"}).catch(()=>{a.folder="æªç¥å°åº"}).finally(()=>{if(this.$set(a,"selected",!0),this.$set(a,"ep",null),this.$set(a,"s",null),a.id=bt(),o[a.folder]||this.$set(o,a.folder,{points:[],selected:!0}),o[a.folder].points.push(a),this.infoRequestStatus.loaded++,this.infoRequestStatus.loaded===this.infoRequestStatus.total){this.drag={};for(const r of Object.keys(o))this.drag[r]=!1;this.classifiedPoints=o,this.infoRequestStatus={type:"READY"}}});this.$refs.map.addTemporaryPointAndRemoveLast(i.points);try{const a=await xt(t);this.kml=Object.freeze(a)}catch(a){p.toast(a)}},onDrop(t){if(t.preventDefault(),t.stopPropagation(),t.dataTransfer.files[0])return this.readGeoFile(t.dataTransfer.files[0]);if(t.dataTransfer.items[0])return this.readGeoFile(t.dataTransfer.items[0].getAsFile());if(t.dataTransfer.getData("text/plain"))return this.readGeoFile(t.dataTransfer.getData("text/plain"));p.toast("æ æ³è¯å«çæä»¶")},groupCheckChange(t,s){this.classifiedPoints[t].points.forEach(e=>{e.selected=s.target.checked,this.selectedStatistic.all+=s.target.checked?1:-1,e.s||(this.selectedStatistic.noTime+=s.target.checked?1:-1),this.imageStorage[e.id]||(this.selectedStatistic.noImage+=s.target.checked?1:-1)}),this.classifiedPoints[t].selected=s.target.checked},singleCheckChange(t,s,e){let i=!0;
2this.classifiedPoints[t].points.forEach(o=>{o.id==s&&(o.selected=e.target.checked,this.selectedStatistic.all+=e.target.checked?1:-1,o.s||(this.selectedStatistic.noTime+=e.target.checked?1:-1),this.imageStorage[o.id]||(this.selectedStatistic.noImage+=e.target.checked?1:-1)),o.selected==!1&&(i=!1)}),e.target.checked==!1&&(this.classifiedPoints[t].selected=!1),i&&(this.classifiedPoints[t].selected=!0)},handleUpdatePointInfo(t,s,e,i){const o=this.classifiedPoints[e].points[i];t.selected&&!o.s&&s.s&&this.selectedStatistic.noTime--,Object.assign(this.classifiedPoints[e].points[i],s)},setListener(){},removeListener(){},submit(){let t=[];if(!this.classifiedPoints){p.toast("没æå°æ å¯ä»¥æäº¤");return}for(let s of Object.values(this.classifiedPoints))for(let e of s.points)e.selected&&t.push(e);if(t.length===0){p.toast("没æå°æ å¯ä»¥æäº¤");return}this.uploadImages(t)},uploadImages(t){let s=[],e=0;for(let n of t)n.s&&e++;this.submitRequestStatus={type:"LOADING",step:"images",loaded:0,total:e};const{user:i,bangumiId:o}=this,a=i?i.id:0,r=()=>{this.submitRequestStatus.loaded++,this.submitRequestStatus.loaded===this.submitRequestStatus.total&&this.uploadPoints(t,t.length-s.length)};for(let n of t){if(!this.imageStorage[n.id])continue;const l=St(),c=`user/${a}/bangumi/${o}/points/${n.id}-${l}.jpg`;this.imageStorage[n.id].url=c;try{$t(c,this.imageStorage[n.id].binary,({src:f,s:m,seasonEp:S})=>{this.imageStorage[n.id].url=f,s.push(n),r()})}catch{r()}}},uploadPoints(t,s){this.submitRequestStatus={type:"LOADING",step:"points",loaded:0,total:t.length};const{user:e,bangumiId:i}=this,o=e?e.id:0;for(let a of t)V.put(V.u(`bangumi/${i}/points?type=create`),Object.assign({geo:a.geo,name:a.name,cn:a.cn,mark:a.mark,s:a.s,ep:a.ep,id:a.id,image:this.imageStorage[a.id].url},e?{uid:o}:{},this.iAmCreator?{}:{origin:this.origin,originLink:this.originLink}),()=>{this.submitRequestStatus.loaded++,this.submitRequestStatus.loaded===this.submitRequestStatus.total&&(p.toast("æè°¢å°æ æäº¤ï¼éè¿å®¡æ ¸åå³å¯å¨åå°æ¾ç¤º~"),this.submitRequestStatus={type:"READY"})})},async getTrace(){let t=[];for(let e of Object.values(this.classifiedPoints))for(let i of e.points)i.selected&&!i.s&&this.imageStorage[i.id]&&t.push(i);this.traceRequestStatus={type:"LOADING",loaded:0,total:t.length};let s=0;for(let e of t)await Tt(this.imageStorage[e.id].binary).then(i=>{if(!i.result)throw"no data";const o=i.result[0];if(!o)throw"no data";let{filename:a,from:r,episode:n,similarity:l}=o;if(l<.5)throw"low similarity";r=Math.floor(r),e.ep=n,e.s=r,this.selectedStatistic.noTime--}).catch(()=>s++).finally(()=>{this.traceRequestStatus.loaded++,this.traceRequestStatus.total===this.traceRequestStatus.loaded&&(s===0?this.traceRequestStatus={type:"READY"}:this.traceRequestStatus={type:"ERROR",total:s})})}},mounted(){const{bangumiId:t}=this.$route.query;t&&(this.bangumiId=Number(t)||t),this.setListener()},destroyed(){this.removeListener()}},K={};var Ce=y(ke,be,Se,!1,we,null,null,null);function we(t){for(let s in K)this[s]=K[s]}const He=function(){return Ce.exports}();export{He as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.