PageSourceSearch

https://www.viabtc.com/_nuxt4/BjFuJnac.js

js viabtc.com collected 2026-10-02 06:44:05 UTC 17,503 bytes, 1 lines download raw bytes

1import{_ as $e}from"./k8zQ-9It.js";import{_ as P}from"./CFAWq-ox.js";import{_ as ce,u as X,f as we,n as re,j as Se,z as ue,l as y,q as W,w as h,t,v as a,G as i,$ as _e,Q as N,x as q,y as s,a0 as me,h as G,H as Ee,bj as ke,dY as Ae,J as x,m as w,B as de,F as J,E as ee,a6 as Ve,e as He,W as ne,dk as Re,b2 as oe,bh as te,K as U,k as Me,aQ as ze,aw as Be,b7 as ae,aR as Ye,b0 as Ue,aP as Ne,aW as Xe,r as O}from"#entry";import{_ as De}from"./Ubnkm9hQ.js";import{a as Ie}from"./DUAWq1n3.js";import"./BwvoS4Qn.js";const Te={兑换数量:"Amount",兑换方向:"Conversion Direction",兑换确认:"Conversion Confirmation",兑换订单已提交:"Conversion order submitted",取消:"Cancel",安全验证:"Security Verification",已存在兑换中订单_1a10:"Conversion already in progress. Please try again later.","打开[a]兑换记_e675":"Click [a]Conversion Records[/a] to view conversion results.",确认兑换:"Confirm Conversion"},Fe={兑换数量:"Cantidad a convertir",兑换方向:"Dirección de conversión",兑换确认:"Confirmar conversión",兑换订单已提交:"Orden de conversión enviada",取消:"Cancelar",安全验证:"Verificación de seguridad",已存在兑换中订单_1a10:"Ya existe una conversión en curso. No es posible convertir en este momento.","打开[a]兑换记_e675":"Abrir el [a]historial de conversiones[/a] para consultar el resultado",确认兑换:"Confirmar conversión"},je={兑换数量:"Кол-во конвертаций",兑换方向:"Направление конвертации",兑换确认:"Подтверждение конвертации",兑换订单已提交:"Конвертационный ордер отправлен",取消:"Отменить",安全验证:"Проверка безопасности",已存在兑换中订单_1a10:"Идёт процесс конвертации, пожалуйста, попробуйте позже","打开[a]兑换记_e675":"Кликните на [a]Историю конвертации[/a], чтобы просмотреть результат",确认兑换:"Подтвердить конвертацию"},Oe={兑换数量:"兑换数量",兑换方向:"兑换方向",兑换确认:"兑换确认",兑换订单已提交:"兑换订单已提交",取消:"取消",安全验证:"安全验证",已存在兑换中订单_1a10:"已存在兑换中订单,无法立即兑换","打开[a]兑换记_e675":"打开[a]兑换记录[/a] 查看兑换结果",确认兑换:"确认兑换"},Pe={兑换数量:"兌換數量",兑换方向:"兌換方向",兑换确认:"兌換確認",兑换订单已提交:"兌換訂單已提交",取消:"取消",安全验证:"安全驗證",已存在兑换中订单_1a10:"已存在兌換中訂單,無法立即兌換","打开[a]兑换记_e675":"打開[a]兌換記錄[/a] 查看兌換結果",确认兑换:"確認兌換"},se={en_US:Te,es_ES:Fe,ru_RU:je,zh_Hans_CN:Oe,zh_Hant_HK:Pe},We={class:"info-field"},qe={class:"info-label"},Ke={class:"info-value"},Ze={class:"info-field mt-20"},Le={class:"info-label"},Qe={class:"info-value"},Ge={class:"ml-4"},Je={class:"footer-btns"},en={__name:"WalletDialogConversion",props:{info:{type:Object,default:()=>{}},visible:{type:Boolean,default:!1}},emits:["update:visible","destroy","close","success"],setup(C,{expose:c,emit:S}){const r=l=>{const M=X().$lang.value||"zh_Hans_CN",V=se[M]||se.zh_Hans_CN||{};return V[l]===void 0?l:V[l]},E=C,k=S,d=X(),H=we(),{visibleVal:v}=re(E,{emit:k}),_={resolve:null,reject:null,resolveStatus:!1,rejectStatus:!1},{runResolve:n,runReject:f}=Ae({controller:_,emit:k}),b=Se(),{account:u}=ue(b),R=x(()=>{var l,p;return((l=u.value)==null?void 0:l.mobile)||((p=u.value)==null?void 0:p.has_totp_auth)}),g=l=>{f(ke),l()},D=async()=>{if(!R.value)d.$account.validate({title:r("安全验证"),business:"switch_auto_exchange",prerequisite:["totpOrMobile"],validates:["totpOrMobile"],payload:{}}),f();else try{(await d.$api.wallet.getExchangeManual({coin:E.info.coin})).exist?(d.$error(r("已存在兑换中订单_1a10","已存在兑换中订单,无法立即兑换")),f()):v.value=!0}catch(l){d.$error(l),f()}},$=()=>{v.value=!1,f()},A=async()=>{try{await d.$account.validate({title:r("安全验证","安全验证"),business:"manual_exchange",prerequisite:["totpOrMobile"],validates:["totpOrMobile"],payload:{...E.info}});
1let l=d.$ui.alert({title:r("兑换订单已提交","兑换订单已提交"),content:G(Ee,{text:r("打开[a]兑换记_e675","打开[a]兑换记录[/a] 查看兑换结果")},{a:p=>G("span",{class:"via-link mx-3",onClick:()=>{H.push("/wallet/history?type=conversion"),l.confirm(),l=void 0}},[p.value])})});v.value=!1,n()}catch{v.value=!1,f()}};return c({handle:()=>new Promise((l,p)=>{_.resolveStatus=!1,_.rejectStatus=!1,_.resolve=l,_.reject=p,D()})}),(l,p)=>{const M=P,V=_e,F=me;return y(),W(F,{modelValue:s(v),"onUpdate:modelValue":p[0]||(p[0]=T=>q(v)?v.value=T:null),title:r("兑换确认"),class:"w-420 c-wallet-conversion-dialog design-v2","append-to-body":!0,"before-close":g},{default:h(()=>[t("div",We,[t("span",qe,a(r("兑换方向")),1),t("div",Ke,[i(M,{coin:C.info.coin,size:"16px"},null,8,["coin"]),t("span",null,a(C.info.coin),1),p[1]||(p[1]=t("span",{class:"font-w400 mx-8"},"→",-1)),i(M,{coin:C.info.money,size:"16px"},null,8,["coin"]),t("span",null,a(C.info.money),1)])]),t("div",Ze,[t("span",Le,a(r("兑换数量")),1),t("div",Qe,[t("span",null,a(C.info.amount),1),t("span",Ge,a(C.info.coin),1)])]),t("div",Je,[i(V,{type:"info",onClick:$},{default:h(()=>[N(a(r("取消")),1)]),_:1}),i(V,{type:"primary",onClick:A},{default:h(()=>[N(a(r("确认兑换")),1)]),_:1})])]),_:1},8,["modelValue","title"])}}},nn=ce(en,[["__scopeId","data-v-31dec9c0"]]),on={余额:"Balance",币种:"Coins",选择币种:"Select Coin"},tn={余额:"Saldo",币种:"Moneda",选择币种:"Seleccionar moneda"},an={余额:"Баланс",币种:"Монета",选择币种:"Выберите монету"},sn={余额:"余额",币种:"币种",选择币种:"选择币种"},ln={余额:"余額",币种:"幣種",选择币种:"選擇幣種"},ie={en_US:on,es_ES:tn,ru_RU:an,zh_Hans_CN:sn,zh_Hant_HK:ln},cn={key:0,class:"flex text-12 px-20 text-tertiary"},rn={class:"ml-auto"},un={key:1},_n=["onClick"],mn={class:"text-primary font-w500"},dn={class:"ml-auto text-primary font-w500"},vn={key:2},pn=["onClick"],fn={class:"text-primary font-w500"},hn={__name:"WalletDialogConversionSelectCoin",props:{visible:{type:Boolean,default:!1},type:{type:String,default:""},data:{type:Array,default:()=>[]}},emits:["update:visible","changeCoin"],setup(C,{emit:c}){const S=_=>{const f=X().$lang.value||"zh_Hans_CN",b=ie[f]||ie.zh_Hans_CN||{};return b[_]===void 0?_:b[_]},r=C,E=c,{visibleVal:k,closeDialog:d}=re(r,{emit:E}),H=x(()=>r.type==="from"),v=_=>{E("changeCoin",_),d()};return(_,n)=>{const f=P,b=me;return y(),W(b,{modelValue:s(k),"onUpdate:modelValue":n[0]||(n[0]=u=>q(k)?k.value=u:null),class:"w-420 c-wallet-conversion-select-coin-dialog design-v2",title:S("选择币种"),"before-close":s(d)},{default:h(()=>[H.value?(y(),w("div",cn,[t("div",null,a(S("币种")),1),t("div",rn,a(S("余额")),1)])):de("",!0),H.value?(y(),w("div",un,[(y(!0),w(J,null,ee(C.data,(u,R)=>(y(),w("div",{key:R,class:"coin-line",onClick:g=>v(u)},[i(f,{coin:u.coin},null,8,["coin"]),t("div",mn,a(u.coin),1),t("div",dn,a(u.available_balance),1)],8,_n))),128))])):(y(),w("div",vn,[(y(!0),w(J,null,ee(C.data,(u,R)=>(y(),w("div",{key:R,class:"coin-line",onClick:g=>v(u)},[i(f,{coin:u},null,8,["coin"]),t("div",fn,a(u),1)],8,pn))),128))]))]),_:1},8,["modelValue","title","before-close"])}}},yn={余额:"Balance",余额不足:"Insufficient balance",兑换:"Convert",兑换数量:"Amount",兑换记录:"Conversion Records","参考价格:":"Reference Price:",开启自动兑换:"Enable Auto-Conversion",支持兑换的数量范_fca8:"Amount range: XXX-YYY #coin#",立即兑换:"Convert","系统维护,暂停兑_0ab7":"System maintenance. Conversion temporarily unavailable.",请输入数量:"Please enter the amount",请选择币种:"Select Coin",预计可兑换为参考_e343:"The estimated convertible amount is for reference only, and the actual converted amount will be subject to the final execution result.",预计可得:"Est. Receive"},Cn={余额:"Saldo",余额不足:"Saldo insuficiente",兑换:"Convertir",兑换数量:"Cantidad a convertir",兑换记录:"Historial de conversiones","参考价格:":"Precio de referencia:",开启自动兑换:"Activar la autoconversión",支持兑换的数量范_fca8:"El rango es: XXX-YYY #coin#",立即兑换:"Convertir","系统维护,暂停兑_0ab7":"Sistema en mantenimiento. El servicio de conversión está temporalmente suspendido.",请输入数量:"Ingrese el monto",请选择币种:"Seleccionar moneda",预计可兑换为参考_e343:"El valor estimado es solo de referencia. La conversión final se basará en el resultado real de la transacción.",预计可得:"Monto estimado"},gn={余额:"Баланс",余额不足:"Недостаточный баÐ
1»Ð°Ð½Ñ",兑换:"Конвертация",兑换数量:"Кол-во конвертаций",兑换记录:"История конвертации","参考价格:":"Справочная цена:",开启自动兑换:"Включить автоконвертацию",支持兑换的数量范_fca8:"Диапазон сумм XXX-YYY #coin#",立即兑换:"Конвертировать","系统维护,暂停兑_0ab7":"Обслуживание системы, услуги по конвертации приостановлены",请输入数量:"Введите сумму",请选择币种:"Выберите монету",预计可兑换为参考_e343:"Расчетная конвертируемая сумма приводится для справки, реальная точная сумма будет доступна после совершения операции.",预计可得:"К получению"},xn={余额:"余额",余额不足:"余额不足",兑换:"兑换",兑换数量:"兑换数量",兑换记录:"兑换记录","参考价格:":"参考价格:",开启自动兑换:"开启自动兑换",支持兑换的数量范_fca8:"支持兑换的数量范围 XXX-YYY #coin#",立即兑换:"立即兑换","系统维护,暂停兑_0ab7":"系统维护,暂停兑换服务",请输入数量:"请输入数量",请选择币种:"请选择币种",预计可兑换为参考_e343:"预计可兑换为参考值,最终兑换以成交结果为准。",预计可得:"预计可得"},bn={余额:"余額",余额不足:"余額不足",兑换:"兌換",兑换数量:"兌換數量",兑换
1记录:"兌換記錄","参考价格:":"參考價格:",开启自动兑换:"開啟自動兌換",支持兑换的数量范_fca8:"支持兌換的數量範圍 XXX-YYY #coin#",立即兑换:"立即兌換","系统维护,暂停兑_0ab7":"系統維護,暫停兌換服務",请输入数量:"請輸入數量",请选择币种:"請選擇幣種",预计可兑换为参考_e343:"預計可兌換為參考值,最終兌換以成交結果為準。",预计可得:"預計可得"},le={en_US:yn,es_ES:Cn,ru_RU:gn,zh_Hans_CN:xn,zh_Hant_HK:bn},$n={class:"p-wallet-conversion"},wn={class:"page-title"},Sn={class:"swap-box"},En={class:"info"},kn={class:"info-title"},An={class:"info-content"},Vn={class:"text-secondary"},Hn={class:"text-secondary ml-4"},Rn={class:"swap-input"},Mn={class:"coin-name"},zn={class:"swap-box"},Bn={class:"info"},Yn={class:"info-title"},Un={class:"swap-input"},Nn={class:"coin-name"},Xn={key:0,class:"text-secondary mt-12"},Dn={class:"flex text-green-500 mt-20"},In={class:"ml-auto"},Tn={key:1,class:"main-content system-maintenance"},Fn={class:"text-20 text-primary font-w500"},jn={__name:"conversion.client",setup(C){const c=e=>{const m=X().$lang.value||"zh_Hans_CN",Y=le[m]||le.zh_Hans_CN||{};return Y[e]===void 0?e:Y[e]};Ve().setPageHead({title:c("兑换")});const S=X(),r=He(),E=ne("conversionDialog"),k=ne("formRef"),d=Re(),{exchangeMarkets:H,switchInfo:v}=ue(d),_=O(!1),n=oe({coin:te(r.query.symbol||"BTC"),amount:"",money:"",toAmount:""}),f=oe({amount:[{validator:(e,o,m)=>{if(!g.value)return m(new Error(c("请选择币种")));if(!o)return m(new Error(c("请输入数量")));if(o.cmp(g.value.available_balance)>0)return m(new Error(c("余额不足")));if(!n.money)return m();if(o.cmp(l.value)>0||o.cmp(I.value)<0)return m(new Error(c("支持兑换的数量范_fca8").replace("XXX",I.value).replace("YYY",l.value).replace("#coin#",n.coin)));m()}}],toAmount:[{validator:(e,o,m)=>{if(!n.money)return m(new Error(c("请选择币种")));m()}}]}),b=O(!1),u=O("from"),R=x(()=>{var e;return((e=H.value)==null?void 0:e.length)&&H.value.every(o=>!o.is_exchange)}),g=x(()=>v.value[n.coin]),D=x(()=>{var e;return((e=g.value)==null?void 0:e.available_balance)||"0"}),$=x(()=>{var e;return(((e=g.value)==null?void 0:e.markets)||{})[n.money]||{}}),A=x(()=>{var e,o;return(o=(e=$.value.manual_exchange)==null?void 0:e.precision)!=null?o:8}),I=x(()=>{var e;return((e=$.value.manual_exchange)==null?void 0:e.min_amount)||""}),l=x(()=>{var o;const e=(o=$.value.manual_exchange)==null?void 0:o.max_amount;return e==null||e===""?"":`${e}`.toBigFixed(A.value).trimZero()}),p=x(()=>{const e=Object.keys(v.value).map(o=>v.value[o]).filter(o=>o.is_exchange);return n.money?e.filter(o=>Object.keys(o.markets).includes(n.money)):e}),M=x(()=>g.value?Object.keys(g.value.markets).filter(e=>g.value.markets[e].is_exchange):["USDT","BTC"]),V=e=>{u.value=e,_.value=!0},F=e=>{u.value==="from"?(g.value=e,n.coin=e.coin,n.amount="",n.toAmount=""):(n.money=e,n.amount&&(n.amount=`${n.amount}`.toBigFixed(A.value).trimZero()),B(n.amount))},T=()=>{n.coin=te(n.coin||r.query.symbol||"BTC")},j=()=>{n.money=M.value[0]||""},B=e=>{if(!$.value.price){n.toAmount="";return}n.toAmount=e?e.mul($.value.price||0).toBigFixed(8).trimZero():""},ve=e=>{if(!$.value.price){n.amount="";return}n.amount=e?e.div($.value.price||0).toBigFixed(A.value).trimZero():""},pe=()=>{let e=D.value;const o=l.value||"0";e.cmp(o)>0&&(e=o),n.amount=`${e}`.toBigFixed(A.value).trimZero(),B(n.amount)},fe=()=>{k.value.validate(async e=>{if(e){b.value=!0;try{await E.value.handle(),await d.fetchExchangeMarkets(),await d.fetchExchangeSettings()}catch{}finally{b.value=!1}}})},he=async()=>{try{if(r.query.symbol)return;const e=await S.$api.wallet.getMemoryCoin({oper_type:"exchange"});n.coin=e.coin||"BTC",n.money=e.money||"USDT"}catch(e){S.$error(e)}};return U(()=>n.amount,(e,o)=>{Ie.check({val:e,oldVal:o,minVal:0,decimals:A.value,callback:m=>{m!==e&&(n.amount=m,B(m))}})}),U(A,e=>{if(!n.amount)return;const o=`${n.amount}`.toBigFixed(e).trimZero();o!==n.amount&&(n.amount=o,B(o))}),U(()=>r.query.symbol,()=>{T(),j()}),U(()=>n.coin,()=>{j()}),U(v,e=>{e&&(T(),j())}),Me(async()=>{try{await d.fetchExchangeMarkets(),await d.fetchExchangeSettings(),await he()}catch(e){S.$error(e)}}),(e,o)=>{const m=$e,Y=P,K=Be,Z=Ye,L=ze,ye=Ue,Ce=_e,Q=Ne,ge=Xe,xe=nn,be=hn;return y(),w("div",$n,[i(m,{title:c("兑换")},null,8,["title"]),R.value?(y(),w("div",Tn,[o[8]||(o[8]=t("img",{src:De,alt:"maintenance"},null,-1)),t("p",Fn,a(c("系统维护,暂停兑_0ab7")),1)])):(y(),W(ge,{key:0,ref_key:"formRef",ref:k,model:s(n),class:"main-content",rules:s(f)},{default:h(()=>[t("div",wn,a(c("立即兑换")),1),i(L,{class:"mb-0",prop:"amount"},{default:h(()=>[t("div",Sn,[t("div",En,[t("div",kn,a(c("兑换数量")),1),t("div",An,[t("span",Vn,a(c("余额")),1),t("span",Hn,a(D.value),1),o[5]||(o[5]=t("span",{class:"sep-line"},null,-1)),t("span",{class:"text-green-500 cursor-pointer",onClick:pe},"Max")])]),t("div",Rn,[t("div",{class:"coin-select",onClick:o[0]||(o[0]=z=>V("from"))},[i(Y,{coin:s(n).coin,size:"32px"},null,8,["coin"]),t("div",Mn,a(s(n).coin),1),i(K,null,{default:h(()=>[i(s(ae))]),_:1})]),i(Z,{modelValue:s(n).amount,"onUpdate:modelValue":o[1]||(o[1]=z=>s(n).amount=z),placeholder:`${I.value}-${l.value}`,class:"convert-input",onInput:B},null,8,["modelValue","placeholder"])])])]),_:1}),o[7]||(o[7]=t("div",{class:"arrow-wrap"},[t("i",{class:"iconfont icon-down-v2"})],-1)),i(L,{class:"mb-0",prop:"toAmount"},{default:h(()=>[t("div",zn,[t("div",Bn,[t("div",Yn,[t("span",null,a(c("预计可得")),1),i(ye,{content:c("预计可兑换为参考_e343"),placement:"top"},{default:h(()=>[...o[6]||(o[6]=[t("i",{class:"iconfont icon-info-v2"},null,-1)])]),_:1},8,["content"])])]),t("div",Un,[t("div",{class:"coin-select",onClick:o[2]||(o[2]=z=>V("to"))},[i(Y,{coin:s(n).money,size:"32px"},null,8,["coin"]),t("div",Nn,a(s(n).money),1),i(K,null,{default:h(()=>[i(s(ae))]),_:1})]),i(Z,{modelValue:s(n).toAmount,"onUpdate:modelValue":o[3]||(o[3]=z=>s(n).toAmount=z),placeholder:"0.00",class:"convert-input",onInput:ve},null,8,["modelValue"])])])]),_:1}
1),s(n).coin&&s(n).money?(y(),w("div",Xn,[t("span",null,a(c("参考价格:")),1),t("span",null,"1 "+a(s(n).coin)+" ≈ "+a($.value.price||"-")+" "+a(s(n).money),1)])):de("",!0),i(Ce,{type:"primary",class:"w-full mt-40",size:"large",loading:s(b),onClick:fe},{default:h(()=>[N(a(c("兑换")),1)]),_:1},8,["loading"]),t("div",Dn,[t("div",null,[i(Q,{to:"/wallet/history?type=conversion"},{default:h(()=>[N(a(c("兑换记录")),1)]),_:1})]),t("div",In,[i(Q,{to:`/wallet/summary?symbol=${s(n).coin}`,target:"_blank"},{default:h(()=>[N(a(c("开启自动兑换")),1)]),_:1},8,["to"])])])]),_:1},8,["model","rules"])),i(xe,{ref_key:"conversionDialog",ref:E,info:s(n)},null,8,["info"]),i(be,{visible:s(_),"onUpdate:visible":o[4]||(o[4]=z=>q(_)?_.value=z:null),type:s(u),data:s(u)==="from"?p.value:M.value,onChangeCoin:F},null,8,["visible","type","data"])])}}},Ln=ce(jn,[["__scopeId","data-v-b4b7d308"]]);export{Ln 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.