import{d as l,r as a,G as e,b as t,g as s,f as i,aC as u,aA as o,c,w as n,n as r,aF as _,k as v,P as d,o as f,l as h,m,q as y,t as g,v as p,S as b,z as w,x as k,F as x,y as T,aG as C,D as S,a8 as M,a0 as D,av as P,_ as F}from"./index-D6lS2uZ9.js";import{S as $}from"./share-popup.Dx47A3ns.js";import{a as z,b as I,f as L,c as j}from"./crypto.GSvHYZdI.js";import"./share.CPj3dbHI.js";const H=F(l({__name:"crypto_detail",setup(l){const F=a(0),H=a(600),U=a(350),W=a(""),A=a(""),B=a(""),G=a("#666"),K=a(null),q=a([]),R=a(!0),X=a(!1),Y=[{label:"1H",key:"1h",interval:"5m",limit:12},{label:"4H",key:"4h",interval:"15m",limit:16},{label:"1D",key:"1d",interval:"1h",limit:24},{label:"1W",key:"1w",interval:"4h",limit:42},{label:"1M",key:"1m",interval:"1d",limit:30},{label:"3M",key:"3m",interval:"1d",limit:90},{label:"6M",key:"6m",interval:"3d",limit:60},{label:"1Y",key:"1y",interval:"1w",limit:52},{label:"ALL",key:"all",interval:"1M",limit:100}],E=a(2),J=e(()=>E.value>=5?280:200),N=e(()=>K.value?K.value.change>=0?"up":"down":""),O=e(()=>K.value?K.value.change>=0?"▲":"▼":""),Q=e(()=>K.value?Math.abs(K.value.change).toFixed(2)+"%":"--"),V=e(()=>q.value.length?L(Math.max(...q.value.map(l=>l.high))):"--"),Z=e(()=>q.value.length?L(Math.min(...q.value.map(l=>l.low))):"--"),ll=e(()=>q.value.length?L(q.value[0].open):"--"),al=e(()=>q.value.length?L(q.value[q.value.length-1].close):"--"),el=()=>{M().length>1?D({delta:1}):P({url:"/pages/crypto/crypto"})},tl=async()=>{var l;console.log("[CryptoDetail] fetchTicker symbol=>",W.value);try{K.value=await z(W.value),console.log("[CryptoDetail] ticker ok price=>",null==(l=K.value)?void 0:l.price)}catch(a){console.error("[CryptoDetail] fetchTicker error=>",a)}},sl=async()=>{const l=Y[E.value];console.log("[CryptoDetail] fetchKline symbol=>",W.value,"interval=>",l.interval,"limit=>",l.limit),R.value=!0;try{q.value=await I(W.value,l.interval,l.limit),console.log("[CryptoDetail] kline ok count=>",q.value.length),await r(),setTimeout(()=>il(),50)}catch(a){console.error("[CryptoDetail] fetchKline error=>",a)}finally{R.value=!1}},il=()=>{const l=q.value;if(!l.length)return;const a=_("klineCanvas"),e=U.value,t=J.value,s=20,i=40,u=10,o=10,c=e-u-o,n=t-s-i,r=l.map(l=>l.close),v=Math.min(...l.map(l=>l.low)),d=Math.max(...l.map(l=>l.high)),f=d-v||1;a.clearRect(0,0,e,t),a.setStrokeStyle("rgba(0,0,0,0.04)"),a.setLineWidth(.5);for(let _=0;_<=4;_++){const l=s+n/4*_;a.beginPath(),a.moveTo(u,l),a.lineTo(e-o,l),a.stroke()}a.setFillStyle("#999"),a.setFontSize(9);for(let _=0;_<=4;_++){const l=d-f/4*_,e=s+n/4*_;a.fillText(L(l),u,e-3)}const h=c/(l.length-1||1),m=l=>s+n-(l-v)/f*n,y=r[r.length-1]>=r[0],g=y?"rgba(255,44,88,0.08)":"rgba(0,196,130,0.08)";a.beginPath(),a.moveTo(u,m(r[0]));for(let _=1;_=5&&l.length>1){a.setFillStyle("#999"),a.setFontSize(9);const e=Math.min(5,l.length),s=Math.floor((l.length-1)/(e-1));for(let i=0;i{ul&&(clearInterval(ul),ul=null)};return t(l=>{W.value=(null==l?void 0:l.symbol)||"BTC",console.log("[CryptoDetail] onLoad symbol=>",W.value);const a=j()[W.value];a?(A.value=a.name,B.value=a.icon,G.value=a.color):(A.value=W.value,B.value=W.value.charAt(0)),s({success:l=>{F.value=0;const a=F.value+44;H.value=l.windowHeight-a,U.value=l.windowWidth-32}}),tl(),sl()}),i(()=>(ol(),void(ul=setInterval(()=>{tl()},15e3)))),u(()=>ol()),o(()=>ol()),(l,a)=>{const e=v,t=d("u-icon"),s=y,i=b,u=d("u-loading"),o=C;return f(),c(e,{class:"detail-page"},{default:n(()=>[h(e,{class:"status-bar",style:m({height:F.value+"px"})},null,8,["style"]),h(e,{class:"navbar"},{default:n(()=>[h(e,{class:"navbar__back",onClick:el},{default:n(()=>[h(t,{name:"arrow-left",size:"36",color:"#333"})]),_:1}),h(e,{class:"navbar__center"},{default:n(()=>[h(e,{class:"navbar__logo",style:m({background:G.value+"18"})},{default:n(()=>[h(s,{class:"navbar__logo-text",style:m({color:G.value})},{default:n(()=>[g(p(B.value),1)]),_:1},8,["style"])]),_:1},8,["style"]),h(s,{class:"navbar__title"},{default:n(()=>[g(p(W.value)+"/USDT",1)]),_:1})]),_:1}),h(e,{class:"navbar__right",onClick:a[0]||(a[0]=l=>X.value=!0)},{default:n(()=>[h(t,{name:"share",size:"36",color:"#333"})]),_:1})]),_:1}),h(i,{"scroll-y":"",class:"detail-scroll",style:m({height:H.value+"px"})},{default:n(()=>[h(e,{class:"price-section"},{default:n(()=>[h(e,{class:"price-section__main"},{default:n(()=>[h(s,{class:"price-section__value"},{default:n(()=>{var l;return[g("$"+p((null==(l=K.value)?void 0:l.price)||"--"),1)]}),_:1}),h(e,{class:w(["price-section__badge",N.value])},{default:n(()=>[h(s,{class:"price-section__badge-arrow"},{default:n(()=>[g(p(O.value),1)]),_:1}),h(s,{class:"price-section__badge-text"},{default:n(()=>[g(p(Q.value),1)]),_:1})]),_:1},8,["class"])]),_:1}),h(s,{class:"price-section__name"},{default:n(()=>[g(p(A.value),1)]),_:1})]),_:1}),h(i,{"scroll-x":"",class:"period-scroll"},{default:n(()=>[h(e,{class:"period-tabs"},{default:n(()=>[(f(),k(x,null,T(Y,(l,a)=>h(e,{key:l.key,class:w(["period-tab",{active:E.value===a}]),onClick:l=>(l=>{E.value!==l&&(E.value=l,sl())})(a)},{default:n(()=>[h(s,null,{default:n(()=>[g(p(l.label),1)]),_:2},1024)]),_:2},1032,["class","onClick"])),64))]),_:1})]),_:1}),h(e,{class:"chart-section",style:m({minHeight:J.value+"px"})},{default:n(()=>[R.value?(f(),c(e,{key:0,class:"chart-loading",style:m({height:J.value+"px"})},{default:n(()=>[h(u,{mode:"circle"})]),_:1},8,["style"])):(f(),c(o,{key:1,"canvas-id":"klineCanvas",id:"klineCanvas",class:"chart-canvas",style:m({width:U.value+"px",height:J.value+"px"})},null,8,["style"]))]),_:1},8,["style"]),h(e,{class:"stats-section"},{default:n(()=>[h(e,{class:"stats-row"},{default:n(()=>[h(e,{class:"stat-item"},{default:n(()=>[h(s,{class:"stat-item__label"},{default:n(()=>[g("24h 最高")]),_:1}),h(s,{class:"stat-item__value up"},{default:n(()=>{var l;return[g("$"+p((null==(l=K.value)?void 0:l.highPrice)||"--"),1)]}),_:1})]),_:1}),h(e,{class:"stat-item"},{default:n(()=>[h(s,{class:"stat-item__label"},{default:n(()=>[g("24h 最低")]),_:1}),h(s,{class:"stat-item__value down"},{default:n(()=>{var l;return[g("$"+p((null==(l=K.value)?void 0:l.lowPrice)||"--"),1)]}),_:1})]),_:1})]),_:1}),h(e,{class:"stats-row"},{default:n(()=>[h(e,{class:"stat-item"},{default:n(()=>[h(s,{class:"stat-item__label"},{default:n(()=>[g("24h 成交额")]),_:1}),h(s,{class:"stat-item__value"},{default:n(()=>{var l;return[g(p((null==(l=K.value)?void 0:l.volume)||"--"),1)]}),_:1})]),_:1}),h(e,{class:"stat-item"},{default:n(()=>[h(s,{class:"stat-item__label"},{default:n(()=>[g("24h 涨跌")]),_:1}),h(s,{class:w(["stat-item__value",N.value])},{default:n(()=>[g(p(Q.value),1)]),_:1},8,["class"])]),_:1})]),_:1})]),_:1}),q.value.length?(f(),c(e,{key:0,class:"kline-summary"},{default:n(()=>[h(e,{class:"section-title"},{default:n(()=>[h(s,null,{default:n(()=>[g("走势概览")]),_:1})]),_:1}),h(e,{class:"stats-row"},{default:n(()=>[h(e,{class:"stat-item"},{default:n(()=>[h(s,{class:"stat-item__label"},{default:n(()=>[g("区间最高")]),_:1}),h(s,{class:"stat-item__value up"},{default:n(()=>[g("$"+p(V.value),1)]),_:1})]),_:1}),h(e,{class:"stat-item"},{default:n(()=>[h(s,{class:"stat-item__label"},{default:n(()=>[g("区间最低")]),_:1}),h(s,{class:"stat-item__value down"},{default:n(()=>[g("$"+p(Z.value),1)]),_:1})]),_:1})]),_:1}),h(e,{class:"stats-row"},{default:n(()=>[h(e,{class:"stat-item"},{default:n(()=>[h(s,{class:"stat-item__label"},{default:n(()=>[g("开盘价")]),_:1}),h(s,{class:"stat-item__value"},{default:n(()=>[g("$"+p(ll.value),1)]),_:1})]),_:1}),h(e,{class:"stat-item"},{default:n(()=>[h(s,{class:"stat-item__label"},{default:n(()=>[g("最新价")]),_:1}),h(s,{class:"stat-item__value"},{default:n(()=>[g("$"+p(al.value),1)]),_:1})]),_:1})]),_:1})]),_:1})):S("",!0),h(e,{class:"info-section"},{default:n(()=>[h(e,{class:"section-title"},{default:n(()=>[h(s,null,{default:n(()=>[g("币种信息")]),_:1})]),_:1}),h(e,{class:"info-rows"},{default:n(()=>[h(e,{class:"info-row"},{default:n(()=>[h(s,{class:"info-row__label"},{default:n(()=>[g("交易对")]),_:1}),h(s,{class:"info-row__value"},{default:n(()=>[g(p(W.value)+"/USDT",1)]),_:1})]),_:1}),h(e,{class:"info-row"},{default:n(()=>[h(s,{class:"info-row__label"},{default:n(()=>[g("全称")]),_:1}),h(s,{class:"info-row__value"},{default:n(()=>[g(p(A.value),1)]),_:1})]),_:1}),h(e,{class:"info-row"},{default:n(()=>[h(s,{class:"info-row__label"},{default:n(()=>[g("数据来源")]),_:1}),h(s,{class:"info-row__value"},{default:n(()=>[g("Binance")]),_:1})]),_:1})]),_:1})]),_:1}),h(e,{style:{height:"60rpx"}})]),_:1},8,["style"]),X.value?(f(),c($,{key:0,show:X.value,"onUpdate:show":a[1]||(a[1]=l=>X.value=l),"page-type":"crypto","page-id":W.value,path:`/pages/crypto/crypto_detail?symbol=${W.value}`,title:W.value+"/USDT 行情"},null,8,["show","page-id","path","title"])):S("",!0)]),_:1})}}}),[["__scopeId","data-v-689d0d37"]]);export{H as default};