PageSourceSearch

https://opc.fyun.cc/_next/static/chunks/app/(marketing)/opc/page-4a80761df42c6bec.js

js fyun.cc collected 2026-10-02 01:20:50 UTC 11,924 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5205],{18391:(t,e,s)=>{"use strict";s.d(e,{PricingSection:()=>d});var i=s(95155),r=s(12115),n=s(52619),a=s.n(n),o=s(8973),u=s(22036),c=s(82163);let l=[{plan:"free",featured:!1,popular:!1,cta:"免费注册",href:u.b.REGISTER,ctaVariant:"secondary"},{plan:"opc_pro",featured:!0,popular:!0,cta:"升级 OPC Pro",href:u.b.SUBSCRIPTION,ctaVariant:"cyan"},{plan:"enterprise",featured:!1,popular:!1,cta:"了解企业版",href:u.b.SUBSCRIPTION,ctaVariant:"secondary",ctaClassName:"!border-opc-cyan/40 !text-opc-cyanLight"}],h=t=>t%100==0?String(t/100):(t/100).toFixed(2);function d(){let[t,e]=(0,r.useState)(!1),{data:s}=(0,c.OX)();return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("div",{className:"mt-8 flex items-center justify-center gap-3.5",children:[(0,i.jsx)("span",{className:"text-sm transition-colors ".concat(t?"text-text-muted":"font-semibold text-text-primary"),children:"按月付费"}),(0,i.jsx)("button",{type:"button",onClick:()=>e(t=>!t),className:"relative h-6 w-11 rounded-full border transition-colors ".concat(t?"border-opc-cyan/40 bg-[image:var(--gradient-opc)]":"border-border-mid bg-white/10"),"aria-label":"切换按月/按年付费",children:(0,i.jsx)("span",{className:"absolute top-[2px] h-[18px] w-[18px] rounded-full bg-white shadow-md transition-transform ".concat(t?"left-[2px] translate-x-5":"left-[2px] translate-x-0")})}),(0,i.jsx)("span",{className:"text-sm transition-colors ".concat(t?"font-semibold text-text-primary":"text-text-muted"),children:"按年付费"}),(0,i.jsx)("span",{className:"rounded-full border border-opc-green/30 bg-opc-greenDim px-2.5 py-0.5 text-[11px] font-semibold text-opc-green transition-opacity ".concat(t?"opacity-100":"opacity-0"),children:"节省 20%"})]}),(0,i.jsx)("div",{className:"mt-10 grid grid-cols-1 items-start gap-5 lg:grid-cols-3",children:l.map(e=>{var r;let n=null==s?void 0:s.find(t=>t.plan===e.plan);if(!n)return(0,i.jsx)("div",{className:"h-[460px] animate-pulse rounded-[20px] border border-border-soft bg-white/[0.02]"},e.plan);let u={...e,name:n.name,features:n.highlights},c=n.purchasable?t?{price:h(Math.round(n.yearly/12)),period:"折合每月 \xb7 按年付 \xa5".concat(h(n.yearly))}:{price:h(n.monthly),period:"每月 \xb7 随时取消"}:{price:"0",period:"永久免费 \xb7 随时升级"};return(0,i.jsxs)("div",{className:"rounded-[20px] border p-7 transition-all sm:p-8 ".concat(u.featured?"border-opc-cyan/35 bg-[linear-gradient(145deg,rgba(0,212,255,0.1),rgba(52,211,153,0.05))] shadow-[0_0_40px_rgba(0,212,255,0.12)] lg:scale-[1.03]":"border-border-soft bg-white/[0.025]"),children:[u.popular&&(0,i.jsx)("span",{className:"mb-2 inline-block rounded-full bg-[image:var(--gradient-opc)] px-3 py-1 text-[10px] font-bold uppercase tracking-wider text-white",children:"\uD83D\uDD25 最受欢迎"}),(0,i.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[1.5px] text-text-ghost",children:u.name}),(0,i.jsx)("div",{className:"mt-3",children:(0,i.jsxs)("span",{className:"font-heading text-[40px] font-extrabold leading-none ".concat(u.featured?"text-gradient-opc":"text-text-primary"),children:[(0,i.jsx)("sup",{className:"mr-0.5 inline-block align-top text-lg",children:"\xa5"}),c.price]})}),(0,i.jsx)("div",{className:"mt-1 text-[13px] text-text-ghost",children:c.period}),(0,i.jsx)("div",{className:"my-6 flex flex-col gap-2.5",children:u.features.map(t=>(0,i.jsxs)("div",{className:"flex items-start gap-2.5 text-[13px] text-text-muted",children:[(0,i.jsx)("span",{className:"mt-0.5 flex h-[18px] w-[18px] flex-shrink-0 items-center justify-center rounded-full bg-opc-cyan/[0.12] text-[10px] text-opc-cyanLight",children:"✓"}),t]},t))}),(0,i.jsx)(o.$n,{variant:u.ctaVariant,className:"w-full justify-center ".concat(null!=(r=u.ctaClassName)?r:""),asChild:!0,children:(0,i.jsx)(a(),{href:u.href,children:u.cta})})]},u.name)})})]})}},18663:(t,e,s)=>{Promise.resolve().then(s.bind(s,75477)),Promise.resolve().then(s.t.bind(s,52619,23)),Promise.resolve().then(s.bind(s,18391)),Promise.resolve().then(s.bind(s,58792)),Promise.resolve().then(s.bind(s,1921)),Promise.resolve().then(s.bind(s,58941)),Promise.resolve().then(s.bind(s,85470)),Promise.resolve().then(s.bind(s,85447)),Promise.resolve().then(s.bind(s,95253)),Promise.resolve().then(s.bind(s,58507)),Promise.resolve().then(s.bind(s,3998)),Promise.resolve().then(s.bind(s,74719)),Promise.resolve().then(s.bind(s,63961)),Promise.resolve().then(s.bind(s,65142)),Promise.resolve().then(s.bind(s,43402)),Promise.resolve().then(s.bind(s,11186)),Promise.resolve().then(s.bind(s,91305)),Promise.resolve().then(s.bind(s,13406)),Promise.resolve().then(s.bind(s,31120))},38559:(t,e,s)=>{"use strict";s.d(e,{$:()=>o,s:()=>a});var i=s(74268),r=s(69781),n=s(93049),a=class extends r.k{#t;#e;#s;#i;constructor(t){super(),this.#t=t.client,this.mutationId=t.mutationId,this.#s=t.mutationCache,this.#e=[],this.state=t.state||o(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){this.#e.includes(t)||(this.#e.push(t),this.clearGcTimeout(),this.#s.notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){this.#e=this.#e.filter(e=>e!==t),this.scheduleGc(),this.#s.notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){this.#e.length||("pending"===this.state.status?this.scheduleGc():this.#s.remove(this))}continue(){return this.#i?.continue()??this.execute(this.state.variables)}async execute(t){let e=()=>{this.#r({type:"continue"})},s={client:this.#t,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#i=(0,n.II)({fn:()=>this.options.mutationFn?this.options.mutationFn(t,s):Promise.reject(Error("No mutationFn found")),onFail:(t,e)=>{this.#r({type:"failed",failureCount:t,error:e})},onPause:()=>{this.#r({type:"pause"})},onContinue:e,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>
1this.#s.canRun(this)});let i="pending"===this.state.status,r=!this.#i.canStart();try{if(i)e();else{this.#r({type:"pending",variables:t,isPaused:r}),this.#s.config.onMutate&&await this.#s.config.onMutate(t,this,s);let e=await this.options.onMutate?.(t,s);e!==this.state.context&&this.#r({type:"pending",context:e,variables:t,isPaused:r})}let n=await this.#i.start();return await this.#s.config.onSuccess?.(n,t,this.state.context,this,s),await this.options.onSuccess?.(n,t,this.state.context,s),await this.#s.config.onSettled?.(n,null,this.state.variables,this.state.context,this,s),await this.options.onSettled?.(n,null,t,this.state.context,s),this.#r({type:"success",data:n}),n}catch(e){try{await this.#s.config.onError?.(e,t,this.state.context,this,s)}catch(t){Promise.reject(t)}try{await this.options.onError?.(e,t,this.state.context,s)}catch(t){Promise.reject(t)}try{await this.#s.config.onSettled?.(void 0,e,this.state.variables,this.state.context,this,s)}catch(t){Promise.reject(t)}try{await this.options.onSettled?.(void 0,e,t,this.state.context,s)}catch(t){Promise.reject(t)}throw this.#r({type:"error",error:e}),e}finally{this.#s.runNext(this)}}#r(t){this.state=(e=>{switch(t.type){case"failed":return{...e,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...e,isPaused:!0};case"continue":return{...e,isPaused:!1};case"pending":return{...e,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...e,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...e,data:void 0,error:t.error,failureCount:e.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}})(this.state),i.jG.batch(()=>{this.#e.forEach(e=>{e.onMutationUpdate(t)}),this.#s.notify({mutation:this,type:"updated",action:t})})}};function o(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}},80549:(t,e,s)=>{"use strict";s.d(e,{n:()=>l});var i=s(12115),r=s(38559),n=s(74268),a=s(38445),o=s(34049),u=class extends a.Q{#t;#n=void 0;#a;#o;constructor(t,e){super(),this.#t=t,this.setOptions(e),this.bindMethods(),this.#u()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(t){let e=this.options;this.options=this.#t.defaultMutationOptions(t),(0,o.f8)(this.options,e)||this.#t.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#a,observer:this}),e?.mutationKey&&this.options.mutationKey&&(0,o.EN)(e.mutationKey)!==(0,o.EN)(this.options.mutationKey)?this.reset():this.#a?.state.status==="pending"&&this.#a.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#a?.removeObserver(this)}onMutationUpdate(t){this.#u(),this.#c(t)}getCurrentResult(){return this.#n}reset(){this.#a?.removeObserver(this),this.#a=void 0,this.#u(),this.#c()}mutate(t,e){return this.#o=e,this.#a?.removeObserver(this),this.#a=this.#t.getMutationCache().build(this.#t,this.options),this.#a.addObserver(this),this.#a.execute(t)}#u(){let t=this.#a?.state??(0,r.$)();this.#n={...t,isPending:"pending"===t.status,isSuccess:"success"===t.status,isError:"error"===t.status,isIdle:"idle"===t.status,mutate:this.mutate,reset:this.reset}}#c(t){n.jG.batch(()=>{if(this.#o&&this.hasListeners()){let e=this.#n.variables,s=this.#n.context,i={client:this.#t,meta:this.options.meta,mutationKey:this.options.mutationKey};if(t?.type==="success"){try{this.#o.onSuccess?.(t.data,e,s,i)}catch(t){Promise.reject(t)}try{this.#o.onSettled?.(t.data,null,e,s,i)}catch(t){Promise.reject(t)}}else if(t?.type==="error"){try{this.#o.onError?.(t.error,e,s,i)}catch(t){Promise.reject(t)}try{this.#o.onSettled?.(void 0,t.error,e,s,i)}catch(t){Promise.reject(t)}}}this.listeners.forEach(t=>{t(this.#n)})})}},c=s(99776);function l(t,e){let s=(0,c.jE)(e),[r]=i.useState(()=>new u(s,t));i.useEffect(()=>{r.setOptions(t)},[r,t]);let a=i.useSyncExternalStore(i.useCallback(t=>r.subscribe(n.jG.batchCalls(t)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),l=i.useCallback((t,e)=>{r.mutate(t,e).catch(o.lQ)},[r]);if(a.error&&(0,o.GU)(r.options.throwOnError,[a.error]))throw a.error;return{...a,mutate:l,mutateAsync:a.mutate}}},82163:(t,e,s)=>{"use strict";s.d(e,{A$:()=>u,L4:()=>h,OX:()=>c,PC:()=>l,Q3:()=>m,S:()=>d,Xi:()=>b,a6:()=>p});var i=s(22454),r=s(99776),n=s(80549),a=s(34342),o=s(63621);function u(){return(0,i.I)({queryKey:["subscription","plans"],queryFn:()=>a.A.get(o.mq.PLANS).then(t=>{var e;return null!=(e=null==t?void 0:t.plans)?e:[]}),staleTime:36e5})}function c(){return(0,i.I)({queryKey:["subscription","catalog"],queryFn:()=>a.A.get(o.mq.PLANS).then(t=>{var e;return null!=(e=null==t?void 0:t.catalog)?e:[]}
1),staleTime:18e5})}function l(){return(0,i.I)({queryKey:["subscription","my"],queryFn:()=>a.A.get(o.mq.MY).then(t=>t)})}function h(t){return(0,i.I)({queryKey:["subscription","history",t],queryFn:()=>a.A.get(o.mq.HISTORY,{params:t}).then(t=>t)})}function d(){let t=(0,r.jE)();return(0,n.n)({mutationFn:t=>a.A.post(o.mq.SUBSCRIBE,{channel:"balance",...t}).then(t=>t),onSuccess:()=>{t.invalidateQueries({queryKey:["subscription"]}),t.invalidateQueries({queryKey:["wallet"]})}})}function p(){let t=(0,r.jE)();return(0,n.n)({mutationFn:t=>a.A.post(o.mq.AUTO_RENEW,{autoRenew:t}),onSuccess:()=>{t.invalidateQueries({queryKey:["subscription"]})}})}function m(t,e){return(0,i.I)({queryKey:["subscription","upgrade-preview",t,e],queryFn:()=>a.A.get(o.mq.UPGRADE_PREVIEW,{params:{plan:t,period:e}}).then(t=>t),enabled:!!t,retry:!1,staleTime:3e4})}function b(){let t=(0,r.jE)();return(0,n.n)({mutationFn:t=>a.A.post(o.mq.CANCEL(t)),onSuccess:()=>{t.invalidateQueries({queryKey:["subscription"]})}})}}},t=>{t.O(0,[5444,3282,2997,7325,2619,125,2454,8720,7443,4342,8816,928,8441,1255,7358],()=>t(t.s=18663)),_N_E=t.O()}]);

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.