448 changed files with 6065 additions and 4326 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@ |
|||
import{e as f,a6 as p,a7 as c,z as r}from"./T3_facgV.js";const l="$s";function y(...t){const a=typeof t[t.length-1]=="string"?t.pop():void 0;typeof t[0]!="string"&&t.unshift(a);const[n,e]=t;if(!n||typeof n!="string")throw new TypeError("[nuxt] [useState] key must be a string: "+n);if(e!==void 0&&typeof e!="function")throw new Error("[nuxt] [useState] init must be a function: "+e);const i=l+n,u=f(),s=p(u.payload.state,i);if(e&&(u._state[i]??={_default:e}),s.value===void 0&&e){const o=e();if(c(o))return u.payload.state[i]=o,o;s.value=o}return s}function v(){const t=y("app:loading",()=>0),a=r(()=>t.value>0);function n(){t.value++}function e(){t.value=Math.max(0,t.value-1)}return{count:t,loading:a,begin:n,end:e}}export{y as a,v as u}; |
|||
import{e as f,a9 as p,aa as c,z as r}from"./CCjf5Io-.js";const l="$s";function y(...t){const a=typeof t[t.length-1]=="string"?t.pop():void 0;typeof t[0]!="string"&&t.unshift(a);const[n,e]=t;if(!n||typeof n!="string")throw new TypeError("[nuxt] [useState] key must be a string: "+n);if(e!==void 0&&typeof e!="function")throw new Error("[nuxt] [useState] init must be a function: "+e);const i=l+n,u=f(),s=p(u.payload.state,i);if(e&&(u._state[i]??={_default:e}),s.value===void 0&&e){const o=e();if(c(o))return u.payload.state[i]=o,o;s.value=o}return s}function v(){const t=y("app:loading",()=>0),a=r(()=>t.value>0);function n(){t.value++}function e(){t.value=Math.max(0,t.value-1)}return{count:t,loading:a,begin:n,end:e}}export{y as a,v as u}; |
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@ |
|||
import{j as w,k as d}from"./T3_facgV.js";import{u as h}from"./BaPL5gDJ.js";async function f(o,i,a){const e=w(),u=d(),s={"Content-Type":"application/json"};e.token&&(s.Authorization=e.token),a&&Object.assign(s,a);const t=await fetch(o,{method:"POST",headers:s,body:JSON.stringify(i)});if(!t.ok)throw new Error(`HTTP error: ${t.status}`);const n=await t.json();if(n.code===18)throw e.logout(),u.push("/"),new Error(n.msg||"Unauthorized");if(n.code!==0)throw new Error(n.msg||"Unknown error");return n.data}const y=/^(get|list|load|query|fetch|search|count|stat|export|check)/i;function g(o){return!y.test(o)}function A(){const o=w(),{begin:i,end:a}=h();async function e(t,n){const r={};if(o.currentAppId&&(r["X-App-Id"]=String(o.currentAppId)),!g(t))return f(`/web/api/api_${t}`,n??{},r);i();try{return await f(`/web/api/api_${t}`,n??{},r)}finally{a()}}async function u(t,n){return f(`/console/api/${t}`,n??{})}async function s(t,n){const r=t.type||"application/octet-stream",c=await e("getcostoken",{path:n,filename:t.name,content_type:r}),p=c.upload_url||c.url||"";if(!p)throw new Error("未获取到上传地址:请确认已在【第三方服务配置→存储】配置并启用「阿里云 OSS」");const l=await fetch(p,{method:"PUT",headers:{"Content-Type":r},body:t});if(!l.ok)throw new Error(`Upload failed: ${l.status}`);return c.url||p.split("?")[0]}return{webApi:e,consoleApi:u,uploadFile:s}}export{A as u}; |
|||
import{j as w,k as d}from"./CCjf5Io-.js";import{u as h}from"./42htcooJ.js";async function f(o,i,a){const e=w(),u=d(),s={"Content-Type":"application/json"};e.token&&(s.Authorization=e.token),a&&Object.assign(s,a);const t=await fetch(o,{method:"POST",headers:s,body:JSON.stringify(i)});if(!t.ok)throw new Error(`HTTP error: ${t.status}`);const n=await t.json();if(n.code===18)throw e.logout(),u.push("/"),new Error(n.msg||"Unauthorized");if(n.code!==0)throw new Error(n.msg||"Unknown error");return n.data}const y=/^(get|list|load|query|fetch|search|count|stat|export|check)/i;function g(o){return!y.test(o)}function A(){const o=w(),{begin:i,end:a}=h();async function e(t,n){const r={};if(o.currentAppId&&(r["X-App-Id"]=String(o.currentAppId)),!g(t))return f(`/web/api/api_${t}`,n??{},r);i();try{return await f(`/web/api/api_${t}`,n??{},r)}finally{a()}}async function u(t,n){return f(`/console/api/${t}`,n??{})}async function s(t,n){const r=t.type||"application/octet-stream",c=await e("getcostoken",{path:n,filename:t.name,content_type:r}),p=c.upload_url||c.url||"";if(!p)throw new Error("未获取到上传地址:请确认已在【第三方服务配置→存储】配置并启用「阿里云 OSS」");const l=await fetch(p,{method:"PUT",headers:{"Content-Type":r},body:t});if(!l.ok)throw new Error(`Upload failed: ${l.status}`);return c.url||p.split("?")[0]}return{webApi:e,consoleApi:u,uploadFile:s}}export{A as u}; |
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,4 +1,4 @@ |
|||
import{g as G,B as K,M as P,c as a,a as e,d as u,m as x,v as B,F as f,r as U,q as Y,s as Z,t as n,x as i,z as E,o,n as F,l as I,_ as J}from"./T3_facgV.js";import{u as Q}from"./YYZWHM5Z.js";import{u as W}from"./D7TmXHpa.js";import"./BaPL5gDJ.js";const X=globalThis.setInterval,$={class:"flex items-center justify-between mb-4 flex-wrap gap-3"},tt={class:"flex items-center gap-2 flex-wrap"},et=["value"],st={class:"flex items-center gap-1 text-xs text-slate-500 cursor-pointer"},lt={class:"flex items-center gap-4 mb-3 text-xs text-slate-500"},nt={class:"text-slate-700"},at={class:"text-slate-700"},ot={class:"text-slate-700"},rt={class:"muted"},ut={class:"panel overflow-hidden"},it={id:"logBody",style:{"max-height":"calc(100vh - 230px)","overflow-y":"auto"}},ct={key:0,class:"text-center text-slate-400 py-10"},dt={key:1,class:"text-center text-red-400 py-10"},vt={key:2,class:"text-center text-slate-400 py-10"},pt={class:"t"},mt={class:"app-name"},ft={key:0,class:"unreg",title:"该应用名未在 console 注册,快照已收到但不会写入统计库"},gt={key:1,class:"muted"},xt={class:"muted"},_t={class:"muted"},yt={class:"muted"},bt={key:0,class:"muted"},ht={class:"t"},wt={key:0,class:"late"},kt=G({__name:"statlog",setup(Ct){const{webApi:A}=Q(),{success:O,error:R}=W(),z={cn:"中国",us:"美国",ea:"东亚",sea:"东南亚",sa:"南亚",me:"中东",eu:"欧洲",ru:"俄罗斯",af:"非洲",sam:"南美",nam:"北美",oc:"大洋洲",br:"巴西",in:"印度"};function D(l){return l?z[l]||l:"-"}const c=i([]),_=i(!1),g=i(""),L=i("-"),M=i("-"),y=i(""),v=i(0),b=i(""),h=i(""),w=i(!1);let d=null;function p(l=0){const s=new Date(Date.now()+l*864e5),t=new Intl.DateTimeFormat("en-CA",{timeZone:"Asia/Shanghai",year:"numeric",month:"2-digit",day:"2-digit"}).format(s);return parseInt(t.replace(/-/g,""),10)}function k(l){const s=""+l;return s.length===8?s.slice(0,4)+"-"+s.slice(4,6)+"-"+s.slice(6,8):s}function C(l){if(!l)return"--";const s=new Date(l*1e3),t=r=>r<10?"0"+r:""+r;return t(s.getHours())+":"+t(s.getMinutes())+":"+t(s.getSeconds())}function N(l){return l?"0x"+(l>>>0).toString(16).toUpperCase():"全部"}const S=E(()=>[{value:p(0),label:"今天 "+k(p(0))},{value:p(-1),label:"昨天 "+k(p(-1))}]);function V(l){return l==="error"?{cls:"lv-error",txt:"解析失败"}:l==="warn"?{cls:"lv-warn",txt:"未落库"}:{cls:"lv-info",txt:"已落库"}}function H(l){return!!(l.snap_ts&&l.ts&&l.ts-l.snap_ts>120)}const T=E(()=>{const l=b.value,s=h.value.trim().toLowerCase();return c.value.filter(t=>!(l&&t.level!==l||s&&((t.app||"")+" "+(t.region||"")+" "+D(t.region)+" "+(t.product_id||"")+" "+N(t.product_id)+" "+(t.stat_day||"")).toLowerCase().indexOf(s)<0))});async function m(){_.value=!0,g.value="";try{const l=await A("getstatlogs",{day:v.value||0});c.value=l?.entries||[],L.value=l?.total!=null?l.total:c.value.length,M.value=c.value.length?C(c.value[0].ts):"--"}catch(l){g.value=l?.message||"网络异常"}finally{_.value=!1}}async function j(){const l=v.value||0,s=S.value.find(r=>r.value===l),t=s?s.label:""+l;if(window.confirm("确定清空「"+t+`」的接收流水吗?
|
|||
import{g as q,B as G,P as K,c as a,a as e,d as u,p as x,q as M,F as f,r as U,v as Y,s as Z,t as n,x as i,z as E,o,n as F,l as I,_ as J}from"./CCjf5Io-.js";import{u as Q}from"./C-6Qe-lq.js";import{u as W}from"./DTVGNZEd.js";import"./42htcooJ.js";const X=globalThis.setInterval,$={class:"flex items-center justify-between mb-4 flex-wrap gap-3"},tt={class:"flex items-center gap-2 flex-wrap"},et=["value"],st={class:"flex items-center gap-1 text-xs text-slate-500 cursor-pointer"},lt={class:"flex items-center gap-4 mb-3 text-xs text-slate-500"},nt={class:"text-slate-700"},at={class:"text-slate-700"},ot={class:"text-slate-700"},rt={class:"muted"},ut={class:"panel overflow-hidden"},it={id:"logBody",style:{"max-height":"calc(100vh - 230px)","overflow-y":"auto"}},ct={key:0,class:"text-center text-slate-400 py-10"},dt={key:1,class:"text-center text-red-400 py-10"},vt={key:2,class:"text-center text-slate-400 py-10"},pt={class:"t"},mt={class:"app-name"},ft={key:0,class:"unreg",title:"该应用名未在 console 注册,快照已收到但不会写入统计库"},gt={key:1,class:"muted"},xt={class:"muted"},_t={class:"muted"},yt={class:"muted"},bt={key:0,class:"muted"},ht={class:"t"},wt={key:0,class:"late"},kt=q({__name:"statlog",setup(Ct){const{webApi:A}=Q(),{success:O,error:R}=W(),z={cn:"中国",us:"美国",ea:"东亚",sea:"东南亚",sa:"南亚",me:"中东",eu:"欧洲",ru:"俄罗斯",af:"非洲",sam:"南美",nam:"北美",oc:"大洋洲",br:"巴西",in:"印度"};function D(l){return l?z[l]||l:"-"}const c=i([]),_=i(!1),g=i(""),L=i("-"),N=i("-"),y=i(""),v=i(0),b=i(""),h=i(""),w=i(!1);let d=null;function p(l=0){const s=new Date(Date.now()+l*864e5),t=new Intl.DateTimeFormat("en-CA",{timeZone:"Asia/Shanghai",year:"numeric",month:"2-digit",day:"2-digit"}).format(s);return parseInt(t.replace(/-/g,""),10)}function k(l){const s=""+l;return s.length===8?s.slice(0,4)+"-"+s.slice(4,6)+"-"+s.slice(6,8):s}function C(l){if(!l)return"--";const s=new Date(l*1e3),t=r=>r<10?"0"+r:""+r;return t(s.getHours())+":"+t(s.getMinutes())+":"+t(s.getSeconds())}function S(l){return l?"0x"+(l>>>0).toString(16).toUpperCase():"全部"}const V=E(()=>[{value:p(0),label:"今天 "+k(p(0))},{value:p(-1),label:"昨天 "+k(p(-1))}]);function B(l){return l==="error"?{cls:"lv-error",txt:"解析失败"}:l==="warn"?{cls:"lv-warn",txt:"未落库"}:{cls:"lv-info",txt:"已落库"}}function H(l){return!!(l.snap_ts&&l.ts&&l.ts-l.snap_ts>120)}const T=E(()=>{const l=b.value,s=h.value.trim().toLowerCase();return c.value.filter(t=>!(l&&t.level!==l||s&&((t.app||"")+" "+(t.region||"")+" "+D(t.region)+" "+(t.product_id||"")+" "+S(t.product_id)+" "+(t.stat_day||"")).toLowerCase().indexOf(s)<0))});async function m(){_.value=!0,g.value="";try{const l=await A("getstatlogs",{day:v.value||0});c.value=l?.entries||[],L.value=l?.total!=null?l.total:c.value.length,N.value=c.value.length?C(c.value[0].ts):"--"}catch(l){g.value=l?.message||"网络异常"}finally{_.value=!1}}async function P(){const l=v.value||0,s=V.value.find(r=>r.value===l),t=s?s.label:""+l;if(window.confirm("确定清空「"+t+`」的接收流水吗?
|
|||
|
|||
只清除本核对面板的记录,不影响已落库的统计数据。 |
|||
清空后可重新触发埋点,观察是否正常进来。`))try{const r=await A("clearstatlogs",{day:l});O("已清空 "+(r&&r.cleared!=null?r.cleared:0)+" 条"),m()}catch(r){R("清空失败:"+(r?.message||"网络异常"))}}function q(){w.value?(d=X(m,15e3),y.value="· 每 15 秒自动刷新"):(d&&clearInterval(d),d=null,y.value="")}return K(()=>{v.value=p(0),m()}),P(()=>{d&&clearInterval(d)}),(l,s)=>(o(),a("div",null,[e("div",$,[s[6]||(s[6]=e("div",null,[e("h2",{class:"text-lg font-bold text-slate-700"},"统计日志"),e("p",{class:"text-xs text-slate-400 mt-0.5"},[u("console 从 NATS 收到的「当日统计快照」接收流水(最新在前,按接收时间分天存 Redis)。各业务部署每个同步周期/启动时/0点 推送一次当日绝对快照,console 收到后覆盖落库。用于核对每个部署是否在正常汇报;带 "),e("span",{class:"unreg"},"未注册"),u(" 的应用快照已收到但"),e("b",null,"不会落库"),u("(应用名需与 console 注册表完全一致)。")])],-1)),e("div",tt,[x(e("select",{"onUpdate:modelValue":s[0]||(s[0]=t=>v.value=t),class:"select select-bordered select-sm",onChange:m},[(o(!0),a(f,null,U(S.value,t=>(o(),a("option",{key:t.value,value:t.value},n(t.label),9,et))),128))],544),[[B,v.value,void 0,{number:!0}]]),x(e("select",{"onUpdate:modelValue":s[1]||(s[1]=t=>b.value=t),class:"select select-bordered select-sm"},[...s[4]||(s[4]=[e("option",{value:""},"全部级别",-1),e("option",{value:"info"},"已落库",-1),e("option",{value:"warn"},"未落库",-1),e("option",{value:"error"},"解析失败",-1)])],512),[[B,b.value]]),x(e("input",{"onUpdate:modelValue":s[2]||(s[2]=t=>h.value=t),class:"input input-bordered input-sm w-44",placeholder:"筛选 应用/区域/产品"},null,512),[[Y,h.value]]),e("label",st,[x(e("input",{"onUpdate:modelValue":s[3]||(s[3]=t=>w.value=t),type:"checkbox",class:"checkbox checkbox-xs",onChange:q},null,544),[[Z,w.value]]),s[5]||(s[5]=u(" 自动刷新 ",-1))]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:m},"刷新"),e("button",{class:"btn btn-outline btn-error btn-sm",title:"清空本日核对流水(不影响已落库的统计数据),清空后可重新观察埋点是否正常进来",onClick:j},"清空本日")])]),e("div",lt,[e("span",null,[s[7]||(s[7]=u("该日保留 ",-1)),e("b",nt,n(L.value),1),s[8]||(s[8]=u(" 条",-1))]),e("span",null,[s[9]||(s[9]=u("当前显示 ",-1)),e("b",at,n(T.value.length),1),s[10]||(s[10]=u(" 条",-1))]),e("span",null,[s[11]||(s[11]=u("最近接收 ",-1)),e("b",ot,n(M.value),1)]),e("span",rt,n(y.value),1)]),e("div",ut,[s[12]||(s[12]=e("div",{id:"logHead"},[e("div",null,"接收时间"),e("div",null,"级别"),e("div",null,"应用 · 区域 · 产品"),e("div",null,"统计日"),e("div",null,"指标摘要 / 说明"),e("div",null,"快照时间")],-1)),e("div",it,[_.value?(o(),a("div",ct,"加载中...")):g.value?(o(),a("div",dt,"加载失败:"+n(g.value),1)):T.value.length?(o(!0),a(f,{key:3},U(T.value,(t,r)=>(o(),a("div",{key:r,class:"logrow"},[e("div",pt,n(C(t.ts)),1),e("div",null,[e("span",{class:F(["lv",V(t.level).cls])},n(V(t.level).txt),3)]),e("div",null,[t.app?(o(),a(f,{key:0},[e("span",mt,n(t.app),1),t.registered?I("",!0):(o(),a("span",ft,"未注册"))],64)):(o(),a("span",gt,"(无应用名)")),e("span",xt," · "+n(D(t.region)),1),e("span",_t," · "+n(N(t.product_id)),1)]),e("div",yt,n(t.stat_day?k(t.stat_day):"-"),1),e("div",null,[t.msg?(o(),a(f,{key:0},[e("span",{class:F(t.level==="error"?"text-red-600":"text-amber-600")},n(t.msg),3),t.summary?(o(),a("span",bt," · "+n(t.summary),1)):I("",!0)],64)):(o(),a(f,{key:1},[u(n(t.summary||"无增量"),1)],64))]),e("div",ht,[u(n(C(t.snap_ts)),1),H(t)?(o(),a("span",wt,"迟到"+n(t.ts-t.snap_ts)+"s",1)):I("",!0)])]))),128)):(o(),a("div",vt,n(c.value.length?"无匹配记录":"该日暂无接收记录"),1))])])]))}}),Lt=J(kt,[["__scopeId","data-v-742ee359"]]);export{Lt as default};
|
|||
清空后可重新触发埋点,观察是否正常进来。`))try{const r=await A("clearstatlogs",{day:l});O("已清空 "+(r&&r.cleared!=null?r.cleared:0)+" 条"),m()}catch(r){R("清空失败:"+(r?.message||"网络异常"))}}function j(){w.value?(d=X(m,15e3),y.value="· 每 15 秒自动刷新"):(d&&clearInterval(d),d=null,y.value="")}return G(()=>{v.value=p(0),m()}),K(()=>{d&&clearInterval(d)}),(l,s)=>(o(),a("div",null,[e("div",$,[s[6]||(s[6]=e("div",null,[e("h2",{class:"text-lg font-bold text-slate-700"},"统计日志"),e("p",{class:"text-xs text-slate-400 mt-0.5"},[u("console 从 NATS 收到的「当日统计快照」接收流水(最新在前,按接收时间分天存 Redis)。各业务部署每个同步周期/启动时/0点 推送一次当日绝对快照,console 收到后覆盖落库。用于核对每个部署是否在正常汇报;带 "),e("span",{class:"unreg"},"未注册"),u(" 的应用快照已收到但"),e("b",null,"不会落库"),u("(应用名需与 console 注册表完全一致)。")])],-1)),e("div",tt,[x(e("select",{"onUpdate:modelValue":s[0]||(s[0]=t=>v.value=t),class:"select select-bordered select-sm",onChange:m},[(o(!0),a(f,null,U(V.value,t=>(o(),a("option",{key:t.value,value:t.value},n(t.label),9,et))),128))],544),[[M,v.value,void 0,{number:!0}]]),x(e("select",{"onUpdate:modelValue":s[1]||(s[1]=t=>b.value=t),class:"select select-bordered select-sm"},[...s[4]||(s[4]=[e("option",{value:""},"全部级别",-1),e("option",{value:"info"},"已落库",-1),e("option",{value:"warn"},"未落库",-1),e("option",{value:"error"},"解析失败",-1)])],512),[[M,b.value]]),x(e("input",{"onUpdate:modelValue":s[2]||(s[2]=t=>h.value=t),class:"input input-bordered input-sm w-44",placeholder:"筛选 应用/区域/产品"},null,512),[[Y,h.value]]),e("label",st,[x(e("input",{"onUpdate:modelValue":s[3]||(s[3]=t=>w.value=t),type:"checkbox",class:"checkbox checkbox-xs",onChange:j},null,544),[[Z,w.value]]),s[5]||(s[5]=u(" 自动刷新 ",-1))]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:m},"刷新"),e("button",{class:"btn btn-outline btn-error btn-sm",title:"清空本日核对流水(不影响已落库的统计数据),清空后可重新观察埋点是否正常进来",onClick:P},"清空本日")])]),e("div",lt,[e("span",null,[s[7]||(s[7]=u("该日保留 ",-1)),e("b",nt,n(L.value),1),s[8]||(s[8]=u(" 条",-1))]),e("span",null,[s[9]||(s[9]=u("当前显示 ",-1)),e("b",at,n(T.value.length),1),s[10]||(s[10]=u(" 条",-1))]),e("span",null,[s[11]||(s[11]=u("最近接收 ",-1)),e("b",ot,n(N.value),1)]),e("span",rt,n(y.value),1)]),e("div",ut,[s[12]||(s[12]=e("div",{id:"logHead"},[e("div",null,"接收时间"),e("div",null,"级别"),e("div",null,"应用 · 区域 · 产品"),e("div",null,"统计日"),e("div",null,"指标摘要 / 说明"),e("div",null,"快照时间")],-1)),e("div",it,[_.value?(o(),a("div",ct,"加载中...")):g.value?(o(),a("div",dt,"加载失败:"+n(g.value),1)):T.value.length?(o(!0),a(f,{key:3},U(T.value,(t,r)=>(o(),a("div",{key:r,class:"logrow"},[e("div",pt,n(C(t.ts)),1),e("div",null,[e("span",{class:F(["lv",B(t.level).cls])},n(B(t.level).txt),3)]),e("div",null,[t.app?(o(),a(f,{key:0},[e("span",mt,n(t.app),1),t.registered?I("",!0):(o(),a("span",ft,"未注册"))],64)):(o(),a("span",gt,"(无应用名)")),e("span",xt," · "+n(D(t.region)),1),e("span",_t," · "+n(S(t.product_id)),1)]),e("div",yt,n(t.stat_day?k(t.stat_day):"-"),1),e("div",null,[t.msg?(o(),a(f,{key:0},[e("span",{class:F(t.level==="error"?"text-red-600":"text-amber-600")},n(t.msg),3),t.summary?(o(),a("span",bt," · "+n(t.summary),1)):I("",!0)],64)):(o(),a(f,{key:1},[u(n(t.summary||"无增量"),1)],64))]),e("div",ht,[u(n(C(t.snap_ts)),1),H(t)?(o(),a("span",wt,"迟到"+n(t.ts-t.snap_ts)+"s",1)):I("",!0)])]))),128)):(o(),a("div",vt,n(c.value.length?"无匹配记录":"该日暂无接收记录"),1))])])]))}}),Lt=J(kt,[["__scopeId","data-v-742ee359"]]);export{Lt as default};
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@ |
|||
import{g as h,j as x,k as w,B as y,c as r,a as e,t as d,l as b,p as _,m as v,q as g,n as k,y as B,x as u,o as p,_ as M}from"./T3_facgV.js";const A={class:"login-bg flex items-center justify-center px-4"},z={class:"login-card"},C={class:"text-center"},S={style:{"font-size":"22px","font-weight":"700",color:"#0F172A",margin:"0 0 4px"}},T={key:0,class:"login-error show"},V={style:{width:"16px",height:"16px","flex-shrink":"0"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},j={style:{"margin-bottom":"16px"}},q={style:{"margin-bottom":"24px"}},D=h({__name:"index",setup(L){const a=x(),c=w(),o=B({account:"",password:""}),l=u(!1),n=u(""),m=u("Admin");y(async()=>{if(a.restore(),a.token){c.push("/dashboard");return}try{const t=(await $fetch("/web/api/api_getsiteinfo",{method:"POST",body:{}}))?.data?.sitename;t&&(m.value=t+" Admin",a.setSiteTitle(t))}catch{}});async function f(){l.value=!0,n.value="";try{const s=await $fetch("/web/api/api_login",{method:"POST",body:{account:o.account,password:o.password}});s.code===0&&s.data?(a.setLoginData(s.data),c.push("/dashboard")):n.value=s.msg||"登录失败"}catch{n.value="网络错误,请检查连接"}finally{l.value=!1}}return(s,t)=>(p(),r("div",A,[e("div",z,[e("div",C,[t[2]||(t[2]=e("div",{class:"logo-icon"},[e("svg",{class:"h-7 w-7 text-white",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})])],-1)),e("h1",S,d(m.value),1),t[3]||(t[3]=e("p",{style:{"font-size":"13px",color:"#94A3B8",margin:"0 0 32px"}},"管理控制台",-1))]),n.value?(p(),r("div",T,[(p(),r("svg",V,[...t[4]||(t[4]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"},null,-1)])])),e("span",null,d(n.value),1)])):b("",!0),e("form",{onSubmit:_(f,["prevent"])},[e("div",j,[t[5]||(t[5]=e("label",{class:"login-label"},"账号",-1)),v(e("input",{"onUpdate:modelValue":t[0]||(t[0]=i=>o.account=i),type:"text",class:"login-input",placeholder:"请输入管理员账号",autocomplete:"username",required:""},null,512),[[g,o.account]])]),e("div",q,[t[6]||(t[6]=e("label",{class:"login-label"},"密码",-1)),v(e("input",{"onUpdate:modelValue":t[1]||(t[1]=i=>o.password=i),type:"password",class:"login-input",placeholder:"请输入密码",autocomplete:"current-password",required:""},null,512),[[g,o.password]])]),e("button",{type:"submit",class:k(["login-btn",{loading:l.value}])},d(l.value?"登录中...":"登 录"),3)],32),t[7]||(t[7]=e("p",{style:{"text-align":"center","font-size":"11px",color:"#94A3B8","margin-top":"24px"}}," © 2025 Admin Console · v1.0.1 ",-1))])]))}}),O=M(D,[["__scopeId","data-v-3a3bca03"]]);export{O as default}; |
|||
import{g as h,j as x,k as w,B as y,c as r,a as e,t as d,l as b,m as _,p as v,v as g,n as k,y as B,x as u,o as p,_ as M}from"./CCjf5Io-.js";const A={class:"login-bg flex items-center justify-center px-4"},z={class:"login-card"},C={class:"text-center"},S={style:{"font-size":"22px","font-weight":"700",color:"#0F172A",margin:"0 0 4px"}},T={key:0,class:"login-error show"},V={style:{width:"16px",height:"16px","flex-shrink":"0"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},j={style:{"margin-bottom":"16px"}},D={style:{"margin-bottom":"24px"}},q=h({__name:"index",setup(L){const a=x(),c=w(),o=B({account:"",password:""}),l=u(!1),n=u(""),m=u("Admin");y(async()=>{if(a.restore(),a.token){c.push("/dashboard");return}try{const t=(await $fetch("/web/api/api_getsiteinfo",{method:"POST",body:{}}))?.data?.sitename;t&&(m.value=t+" Admin",a.setSiteTitle(t))}catch{}});async function f(){l.value=!0,n.value="";try{const s=await $fetch("/web/api/api_login",{method:"POST",body:{account:o.account,password:o.password}});s.code===0&&s.data?(a.setLoginData(s.data),c.push("/dashboard")):n.value=s.msg||"登录失败"}catch{n.value="网络错误,请检查连接"}finally{l.value=!1}}return(s,t)=>(p(),r("div",A,[e("div",z,[e("div",C,[t[2]||(t[2]=e("div",{class:"logo-icon"},[e("svg",{class:"h-7 w-7 text-white",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})])],-1)),e("h1",S,d(m.value),1),t[3]||(t[3]=e("p",{style:{"font-size":"13px",color:"#94A3B8",margin:"0 0 32px"}},"管理控制台",-1))]),n.value?(p(),r("div",T,[(p(),r("svg",V,[...t[4]||(t[4]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"},null,-1)])])),e("span",null,d(n.value),1)])):b("",!0),e("form",{onSubmit:_(f,["prevent"])},[e("div",j,[t[5]||(t[5]=e("label",{class:"login-label"},"账号",-1)),v(e("input",{"onUpdate:modelValue":t[0]||(t[0]=i=>o.account=i),type:"text",class:"login-input",placeholder:"请输入管理员账号",autocomplete:"username",required:""},null,512),[[g,o.account]])]),e("div",D,[t[6]||(t[6]=e("label",{class:"login-label"},"密码",-1)),v(e("input",{"onUpdate:modelValue":t[1]||(t[1]=i=>o.password=i),type:"password",class:"login-input",placeholder:"请输入密码",autocomplete:"current-password",required:""},null,512),[[g,o.password]])]),e("button",{type:"submit",class:k(["login-btn",{loading:l.value}])},d(l.value?"登录中...":"登 录"),3)],32),t[7]||(t[7]=e("p",{style:{"text-align":"center","font-size":"11px",color:"#94A3B8","margin-top":"24px"}}," © 2025 Admin Console · v1.0.1 ",-1))])]))}}),O=M(q,[["__scopeId","data-v-3a3bca03"]]);export{O as default}; |
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@ |
|||
import{a as u}from"./BaPL5gDJ.js";let i=0;function f(){const o=u("app:toasts",()=>[]);function e(s,t="info",r=3e3){const a=++i;o.value.push({id:a,type:t,msg:s}),r>0&&setTimeout(()=>{o.value=o.value.filter(n=>n.id!==a)},r)}return{toasts:o,toast:e,success:(s,t)=>e(s,"success",t),error:(s,t)=>e(s,"error",t),info:(s,t)=>e(s,"info",t),warn:(s,t)=>e(s,"warning",t)}}export{f as u}; |
|||
import{a as u}from"./42htcooJ.js";let i=0;function f(){const o=u("app:toasts",()=>[]);function e(s,t="info",r=3e3){const a=++i;o.value.push({id:a,type:t,msg:s}),r>0&&setTimeout(()=>{o.value=o.value.filter(n=>n.id!==a)},r)}return{toasts:o,toast:e,success:(s,t)=>e(s,"success",t),error:(s,t)=>e(s,"error",t),info:(s,t)=>e(s,"info",t),warn:(s,t)=>e(s,"warning",t)}}export{f as u}; |
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@ |
|||
import{_ as s}from"./BSclnKbv.js";import{_ as a,o as i,c as u,a as t,t as n,b as c,w as l,d}from"./T3_facgV.js";import{u as f}from"./CHOPe4ZT.js";const p={class:"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide"},m={class:"max-w-520px text-center"},h=["textContent"],b=["textContent"],x=["textContent"],g={class:"flex items-center justify-center w-full"},y={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},status:{type:Number,default:404},statusText:{type:String,default:"Page not found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(e){const r=e;return f({title:`${r.status} - ${r.statusText} | ${r.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--un-default-border-color,#e5e7eb)}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}h1,h2{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(k,_)=>{const o=s;return i(),u("div",p,[t("div",m,[t("h1",{class:"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]",textContent:n(e.status)},null,8,h),t("h2",{class:"font-semibold mb-2 sm:text-3xl text-2xl",textContent:n(e.statusText)},null,8,b),t("p",{class:"mb-4 px-2 text-[#64748B] text-md",textContent:n(e.description)},null,8,x),t("div",g,[c(o,{to:"/",class:"font-medium hover:text-[#00DC82] text-sm underline underline-offset-3"},{default:l(()=>[d(n(e.backHome),1)]),_:1})])])])}}},z=a(y,[["__scopeId","data-v-52418c85"]]);export{z as default}; |
|||
import{_ as s}from"./CA44cC15.js";import{_ as a,o as i,c as u,a as t,t as n,b as c,w as l,d}from"./CCjf5Io-.js";import{u as f}from"./b15UHpcb.js";const p={class:"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide"},m={class:"max-w-520px text-center"},h=["textContent"],b=["textContent"],x=["textContent"],g={class:"flex items-center justify-center w-full"},y={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},status:{type:Number,default:404},statusText:{type:String,default:"Page not found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(e){const r=e;return f({title:`${r.status} - ${r.statusText} | ${r.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--un-default-border-color,#e5e7eb)}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}h1,h2{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(k,_)=>{const o=s;return i(),u("div",p,[t("div",m,[t("h1",{class:"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]",textContent:n(e.status)},null,8,h),t("h2",{class:"font-semibold mb-2 sm:text-3xl text-2xl",textContent:n(e.statusText)},null,8,b),t("p",{class:"mb-4 px-2 text-[#64748B] text-md",textContent:n(e.description)},null,8,x),t("div",g,[c(o,{to:"/",class:"font-medium hover:text-[#00DC82] text-sm underline underline-offset-3"},{default:l(()=>[d(n(e.backHome),1)]),_:1})])])])}}},z=a(y,[["__scopeId","data-v-52418c85"]]);export{z as default}; |
|||
@ -1 +1 @@ |
|||
import{_ as o,o as s,c as a,a as t,t as r}from"./T3_facgV.js";import{u as i}from"./CHOPe4ZT.js";const u={class:"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide"},c={class:"max-w-520px text-center"},l=["textContent"],d=["textContent"],p=["textContent"],f={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},status:{type:Number,default:500},statusText:{type:String,default:"Internal server error"},description:{type:String,default:"This page is temporarily unavailable."},refresh:{type:String,default:"Refresh this page"}},setup(e){const n=e;return i({title:`${n.status} - ${n.statusText} | ${n.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--un-default-border-color,#e5e7eb)}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}h1,h2{font-size:inherit;font-weight:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(h,m)=>(s(),a("div",u,[t("div",c,[t("h1",{class:"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]",textContent:r(e.status)},null,8,l),t("h2",{class:"font-semibold mb-2 sm:text-3xl text-2xl",textContent:r(e.statusText)},null,8,d),t("p",{class:"mb-4 px-2 text-[#64748B] text-md",textContent:r(e.description)},null,8,p)])]))}},x=o(f,[["__scopeId","data-v-2c2ce9e3"]]);export{x as default}; |
|||
import{_ as o,o as s,c as a,a as t,t as r}from"./CCjf5Io-.js";import{u as i}from"./b15UHpcb.js";const u={class:"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide"},c={class:"max-w-520px text-center"},l=["textContent"],d=["textContent"],p=["textContent"],f={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},status:{type:Number,default:500},statusText:{type:String,default:"Internal server error"},description:{type:String,default:"This page is temporarily unavailable."},refresh:{type:String,default:"Refresh this page"}},setup(e){const n=e;return i({title:`${n.status} - ${n.statusText} | ${n.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--un-default-border-color,#e5e7eb)}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}h1,h2{font-size:inherit;font-weight:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(h,m)=>(s(),a("div",u,[t("div",c,[t("h1",{class:"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]",textContent:r(e.status)},null,8,l),t("h2",{class:"font-semibold mb-2 sm:text-3xl text-2xl",textContent:r(e.statusText)},null,8,d),t("p",{class:"mb-4 px-2 text-[#64748B] text-md",textContent:r(e.description)},null,8,p)])]))}},x=o(f,[["__scopeId","data-v-2c2ce9e3"]]);export{x as default}; |
|||
File diff suppressed because one or more lines are too long
@ -1 +1 @@ |
|||
import{_ as t,o,c as s,N as c}from"./T3_facgV.js";const r={},a={class:"min-h-screen","data-theme":"corporate"};function n(e,_){return o(),s("div",a,[c(e.$slots,"default")])}const l=t(r,[["render",n]]);export{l as default}; |
|||
import{_ as t,o,c as s,Q as c}from"./CCjf5Io-.js";const r={},a={class:"min-h-screen","data-theme":"corporate"};function n(e,_){return o(),s("div",a,[c(e.$slots,"default")])}const l=t(r,[["render",n]]);export{l as default}; |
|||
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@ |
|||
.chk[data-v-f682efe9]{display:flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid #e2e8f0;border-radius:8px;font-size:12px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chk[data-v-f682efe9]:hover{background:#f8fafc}.chk input[data-v-f682efe9]{width:14px;height:14px} |
|||
@ -0,0 +1 @@ |
|||
.chk[data-v-06dca20b]{display:flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid #e2e8f0;border-radius:8px;font-size:12px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chk[data-v-06dca20b]:hover{background:#f8fafc}.chk input[data-v-06dca20b]{width:14px;height:14px} |
|||
@ -1 +1 @@ |
|||
import{u as a,e as s,h as u,i as r,f as h}from"./T3_facgV.js";function i(t){const e=t||s();return e.ssrContext?.head||e.runWithContext(()=>{if(u()){const n=r(h);if(!n)throw new Error("[nuxt] [unhead] Missing Unhead instance.");return n}})}function d(t,e={}){const n=e.head||i(e.nuxt);return a(t,{head:n,...e})}export{d as u}; |
|||
import{u as a,e as s,h as u,i as r,f as h}from"./CCjf5Io-.js";function i(t){const e=t||s();return e.ssrContext?.head||e.runWithContext(()=>{if(u()){const n=r(h);if(!n)throw new Error("[nuxt] [unhead] Missing Unhead instance.");return n}})}function d(t,e={}){const n=e.head||i(e.nuxt);return a(t,{head:n,...e})}export{d as u}; |
|||
@ -1 +1 @@ |
|||
{"id":"7536898a-7cbf-479a-b1a3-617064ef8470","timestamp":1784693551932} |
|||
{"id":"a9121ad7-d4b4-4265-bf91-57f220ed7baa","timestamp":1784883938543} |
|||
@ -1 +0,0 @@ |
|||
{"id":"7536898a-7cbf-479a-b1a3-617064ef8470","timestamp":1784693551932,"prerendered":[]} |
|||
@ -0,0 +1 @@ |
|||
{"id":"a9121ad7-d4b4-4265-bf91-57f220ed7baa","timestamp":1784883938543,"prerendered":[]} |
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@ |
|||
.cat-item[data-v-af95cc3b]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:11px;border:1px solid #eef2f7;background:#fff;cursor:pointer;transition:all .15s}.cat-item[data-v-af95cc3b]:hover{border-color:#c7d2fe;background:#f5f3ff}.cat-item.active[data-v-af95cc3b]{border-color:#6366f1;background:linear-gradient(135deg,#eef2ff,#f5f3ff);box-shadow:0 4px 12px #6366f11f}.cat-icon[data-v-af95cc3b]{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.dot-on[data-v-af95cc3b]{width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 0 3px #10b98126;flex-shrink:0}.provider-card[data-v-af95cc3b]{padding:12px 14px;border-radius:13px;border:1.5px solid #eef2f7;background:#fff;cursor:pointer;transition:all .15s}.provider-card[data-v-af95cc3b]:hover{border-color:#c7d2fe}.provider-card.active[data-v-af95cc3b]{border-color:#6366f1;background:linear-gradient(135deg,#eef2ff,#faf5ff);box-shadow:0 4px 14px #6366f11f}.provider-card.is-default[data-v-af95cc3b]{box-shadow:inset 0 0 0 1.5px #10b981}.provider-logo[data-v-af95cc3b]{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:12px;letter-spacing:-.02em}.default-badge[data-v-af95cc3b]{font-size:10px;font-weight:700;padding:2px 8px;border-radius:6px;background:#dcfce7;color:#15803d}.default-pick[data-v-af95cc3b]{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:#94a3b8;cursor:pointer;padding:3px 8px;border-radius:7px;border:1px solid #eef2f7;transition:all .15s}.default-pick[data-v-af95cc3b]:hover{border-color:#c7d2fe;color:#6366f1}.default-pick.on[data-v-af95cc3b]{color:#15803d;background:#dcfce7;border-color:#bbf7d0}.lock-tag[data-v-af95cc3b]{font-size:10px;font-weight:600;color:#dc2626;background:#fef2f2;padding:1px 6px;border-radius:5px}.rule-box[data-v-af95cc3b]{background:#f8fafc;border:1px solid #eef2f7;border-radius:11px;padding:10px 14px} |
|||
@ -0,0 +1 @@ |
|||
.cat-card[data-v-6ea4e757]{padding:18px 20px;border-radius:16px;border:1px solid #eef2f7;background:#fff;cursor:pointer;transition:all .15s}.cat-card[data-v-6ea4e757]:hover{border-color:#c7d2fe;box-shadow:0 8px 24px #6366f11a;transform:translateY(-2px)}.cat-icon[data-v-6ea4e757]{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.provider-card[data-v-6ea4e757]{padding:12px 14px;border-radius:13px;border:1.5px solid #eef2f7;background:#fff;cursor:pointer;transition:all .15s}.provider-card[data-v-6ea4e757]:hover{border-color:#c7d2fe}.provider-card.active[data-v-6ea4e757]{border-color:#6366f1;background:linear-gradient(135deg,#eef2ff,#faf5ff);box-shadow:0 4px 14px #6366f11f}.provider-card.is-default[data-v-6ea4e757]{box-shadow:inset 0 0 0 1.5px #10b981}.provider-logo[data-v-6ea4e757]{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:12px;letter-spacing:-.02em}.default-pick[data-v-6ea4e757]{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:#94a3b8;cursor:pointer;padding:3px 8px;border-radius:7px;border:1px solid #eef2f7;transition:all .15s}.default-pick[data-v-6ea4e757]:hover{border-color:#c7d2fe;color:#6366f1}.default-pick.on[data-v-6ea4e757]{color:#15803d;background:#dcfce7;border-color:#bbf7d0}.lock-tag[data-v-6ea4e757]{font-size:10px;font-weight:600;color:#dc2626;background:#fef2f2;padding:1px 6px;border-radius:5px} |
|||
File diff suppressed because one or more lines are too long
@ -1,8 +0,0 @@ |
|||
import { A as AppDeployTab_vue_vue_type_style_index_0_scoped_b8dfd02c_lang } from './_name_-styles-1.mjs-vz5bkjKO.mjs'; |
|||
|
|||
const AppDeployTabStyles_B0mCMIhI = [ |
|||
AppDeployTab_vue_vue_type_style_index_0_scoped_b8dfd02c_lang |
|||
]; |
|||
|
|||
export { AppDeployTabStyles_B0mCMIhI as default }; |
|||
//# sourceMappingURL=AppDeployTab-styles.B0mCMIhI.mjs.map
|
|||
@ -1 +0,0 @@ |
|||
{"version":3,"file":"AppDeployTab-styles.B0mCMIhI.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/AppDeployTab-styles.B0mCMIhI.mjs"],"names":["style_0"],"mappings":"","x_google_ignoreList":[0]} |
|||
@ -0,0 +1,8 @@ |
|||
import { A as AppDeployTab_vue_vue_type_style_index_0_scoped_7b082515_lang } from './_name_-styles-1.mjs-DV0K6DvJ.mjs'; |
|||
|
|||
const AppDeployTabStyles_CUK7XFMF = [ |
|||
AppDeployTab_vue_vue_type_style_index_0_scoped_7b082515_lang |
|||
]; |
|||
|
|||
export { AppDeployTabStyles_CUK7XFMF as default }; |
|||
//# sourceMappingURL=AppDeployTab-styles.CUK7XFMF.mjs.map
|
|||
@ -0,0 +1 @@ |
|||
{"version":3,"file":"AppDeployTab-styles.CUK7XFMF.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/AppDeployTab-styles.CUK7XFMF.mjs"],"names":["style_0"],"mappings":"","x_google_ignoreList":[0]} |
|||
@ -1 +0,0 @@ |
|||
{"version":3,"file":"_name_-3YudcsGQ.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/_name_-3YudcsGQ.js"],"names":["useRoute"],"mappings":"","x_google_ignoreList":[0]} |
|||
@ -0,0 +1 @@ |
|||
{"version":3,"file":"_name_-QnyK8Xx9.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/_name_-QnyK8Xx9.js"],"names":["useRoute"],"mappings":"","x_google_ignoreList":[0]} |
|||
@ -0,0 +1,4 @@ |
|||
const AppDeployTab_vue_vue_type_style_index_0_scoped_7b082515_lang = ".card[data-v-7b082515]{background:#fff;border:1px solid #eef2f7;border-radius:14px;box-shadow:0 1px 2px #0f172a0a;overflow:hidden}.card-head[data-v-7b082515]{padding:15px 18px;border-bottom:1px solid #eef2f7;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.card-title[data-v-7b082515]{font-size:14.5px;font-weight:700;color:#1e293b}.card-desc[data-v-7b082515]{font-size:11.5px;color:#64748b;margin-top:3px;max-width:74ch;line-height:1.55}.dep[data-v-7b082515]{display:grid;grid-template-columns:1.5fr 1fr 1fr .9fr auto;gap:14px;align-items:center;padding:14px 18px;border-bottom:1px solid #eef2f7}.dep[data-v-7b082515]:last-child{border-bottom:0}.dep[data-v-7b082515]:hover{background:#fcfcfd}.dep.pending[data-v-7b082515]{background:linear-gradient(90deg,#fef3c7,transparent 34%)}.dep-name[data-v-7b082515]{font-weight:600;font-size:13.5px;color:#334155;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.dep-sub[data-v-7b082515]{font-size:11px;color:#94a3b8;margin-top:3px;font-family:SF Mono,Menlo,monospace}.dep-acts[data-v-7b082515]{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.field-l[data-v-7b082515]{font-size:10px;color:#94a3b8;letter-spacing:.04em;text-transform:uppercase;font-weight:600;margin-bottom:3px}.chip[data-v-7b082515]{display:inline-flex;align-items:center;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:5px;background:#f1f5f9;color:#64748b}.chip-dep[data-v-7b082515]{background:#ecfeff;color:#0e7490}.chip-ok[data-v-7b082515]{background:#dcfce7;color:#15803d}.chip-warn[data-v-7b082515]{background:#fef3c7;color:#b45309}.chip-mono[data-v-7b082515]{font-family:SF Mono,Menlo,monospace;font-weight:600}@media(max-width:1280px){.dep[data-v-7b082515]{grid-template-columns:1fr 1fr}.dep-acts[data-v-7b082515]{grid-column:1/-1;justify-content:flex-start}}"; |
|||
|
|||
export { AppDeployTab_vue_vue_type_style_index_0_scoped_7b082515_lang as A }; |
|||
//# sourceMappingURL=_name_-styles-1.mjs-DV0K6DvJ.mjs.map
|
|||
@ -0,0 +1 @@ |
|||
{"version":3,"file":"_name_-styles-1.mjs-DV0K6DvJ.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/_name_-styles-1.mjs-DV0K6DvJ.js"],"names":[],"mappings":"","x_google_ignoreList":[0]} |
|||
@ -1,4 +0,0 @@ |
|||
const AppDeployTab_vue_vue_type_style_index_0_scoped_b8dfd02c_lang = ".card[data-v-b8dfd02c]{background:#fff;border:1px solid #eef2f7;border-radius:14px;box-shadow:0 1px 2px #0f172a0a;overflow:hidden}.card-head[data-v-b8dfd02c]{padding:15px 18px;border-bottom:1px solid #eef2f7;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.card-title[data-v-b8dfd02c]{font-size:14.5px;font-weight:700;color:#1e293b}.card-desc[data-v-b8dfd02c]{font-size:11.5px;color:#64748b;margin-top:3px;max-width:74ch;line-height:1.55}.dep[data-v-b8dfd02c]{display:grid;grid-template-columns:1.5fr 1fr 1fr .9fr auto;gap:14px;align-items:center;padding:14px 18px;border-bottom:1px solid #eef2f7}.dep[data-v-b8dfd02c]:last-child{border-bottom:0}.dep[data-v-b8dfd02c]:hover{background:#fcfcfd}.dep.pending[data-v-b8dfd02c]{background:linear-gradient(90deg,#fef3c7,transparent 34%)}.dep-name[data-v-b8dfd02c]{font-weight:600;font-size:13.5px;color:#334155;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.dep-sub[data-v-b8dfd02c]{font-size:11px;color:#94a3b8;margin-top:3px;font-family:SF Mono,Menlo,monospace}.dep-acts[data-v-b8dfd02c]{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.field-l[data-v-b8dfd02c]{font-size:10px;color:#94a3b8;letter-spacing:.04em;text-transform:uppercase;font-weight:600;margin-bottom:3px}.chip[data-v-b8dfd02c]{display:inline-flex;align-items:center;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:5px;background:#f1f5f9;color:#64748b}.chip-dep[data-v-b8dfd02c]{background:#ecfeff;color:#0e7490}.chip-ok[data-v-b8dfd02c]{background:#dcfce7;color:#15803d}.chip-warn[data-v-b8dfd02c]{background:#fef3c7;color:#b45309}.chip-mono[data-v-b8dfd02c]{font-family:SF Mono,Menlo,monospace;font-weight:600}@media(max-width:1280px){.dep[data-v-b8dfd02c]{grid-template-columns:1fr 1fr}.dep-acts[data-v-b8dfd02c]{grid-column:1/-1;justify-content:flex-start}}"; |
|||
|
|||
export { AppDeployTab_vue_vue_type_style_index_0_scoped_b8dfd02c_lang as A }; |
|||
//# sourceMappingURL=_name_-styles-1.mjs-vz5bkjKO.mjs.map
|
|||
@ -1 +0,0 @@ |
|||
{"version":3,"file":"_name_-styles-1.mjs-vz5bkjKO.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/_name_-styles-1.mjs-vz5bkjKO.js"],"names":[],"mappings":"","x_google_ignoreList":[0]} |
|||
@ -1,13 +1,13 @@ |
|||
import { A as AppDeployTab_vue_vue_type_style_index_0_scoped_b8dfd02c_lang } from './_name_-styles-1.mjs-vz5bkjKO.mjs'; |
|||
import { A as AppDeployTab_vue_vue_type_style_index_0_scoped_7b082515_lang } from './_name_-styles-1.mjs-DV0K6DvJ.mjs'; |
|||
import { A as AppModuleTab_vue_vue_type_style_index_0_scoped_ff0e4b71_lang } from './_name_-styles-2.mjs-BXCS7H7R.mjs'; |
|||
|
|||
const _name__vue_vue_type_style_index_0_scoped_3e1700b0_lang = '.hero[data-v-3e1700b0]{background:#fff;border:1px solid #eef2f7;border-radius:16px;padding:20px 22px;margin-bottom:16px;box-shadow:0 1px 2px #0f172a0a,0 4px 16px #0f172a08;display:flex;gap:18px;align-items:center;flex-wrap:wrap}.hero-logo[data-v-3e1700b0]{width:58px;height:58px;border-radius:15px;flex-shrink:0;color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);display:grid;place-items:center;font-weight:800;font-size:24px;box-shadow:0 8px 22px #4f46e54d}.hero-name[data-v-3e1700b0]{font-size:20px;font-weight:700;color:#1e293b;letter-spacing:-.015em;display:flex;align-items:center;gap:9px;flex-wrap:wrap}.kpis[data-v-3e1700b0]{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:18px}.kpi[data-v-3e1700b0]{background:#fff;border:1px solid #eef2f7;border-radius:12px;padding:13px 15px;position:relative;overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.kpi[data-v-3e1700b0]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#e2e8f0}.kpi.ok[data-v-3e1700b0]:before{background:#16a34a}.kpi.warn[data-v-3e1700b0]:before{background:#d97706}.kpi.accent[data-v-3e1700b0]:before{background:#4f46e5}.kpi-l[data-v-3e1700b0]{font-size:10.5px;color:#94a3b8;letter-spacing:.04em;text-transform:uppercase;font-weight:600}.kpi-v[data-v-3e1700b0]{font-size:22px;font-weight:700;color:#1e293b;margin-top:3px;letter-spacing:-.02em;font-family:SF Mono,Menlo,monospace;font-variant-numeric:tabular-nums}.kpi-v small[data-v-3e1700b0]{font-size:12px;color:#94a3b8;font-weight:500;margin-left:3px}.tablist[data-v-3e1700b0]{display:flex;gap:2px;border-bottom:1px solid #e2e8f0;margin-bottom:18px;overflow-x:auto}.tab[data-v-3e1700b0]{border:0;background:none;font-size:13.5px;color:#64748b;padding:10px 15px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;display:flex;align-items:center;gap:6px}.tab[data-v-3e1700b0]:hover{color:#1e293b}.tab[aria-selected=true][data-v-3e1700b0]{color:#4338ca;border-bottom-color:#4f46e5;font-weight:600}.tab-n[data-v-3e1700b0]{font-size:10.5px;background:#f8fafc;border:1px solid #eef2f7;color:#64748b;border-radius:20px;padding:0 6px;font-family:SF Mono,Menlo,monospace}.tab[aria-selected=true] .tab-n[data-v-3e1700b0]{background:#eef2ff;color:#4338ca;border-color:transparent}.depbar[data-v-3e1700b0]{gap:10px;flex-wrap:wrap;background:#f8fafc;border:1px solid #eef2f7;border-radius:11px;padding:10px 13px;margin-bottom:16px}.depbar[data-v-3e1700b0],.depchip[data-v-3e1700b0]{display:flex;align-items:center}.depchip[data-v-3e1700b0]{border:1px solid #e2e8f0;background:#fff;border-radius:20px;padding:4px 12px;font-size:12px;cursor:pointer;color:#334155;gap:6px}.depchip[data-v-3e1700b0]:hover{border-color:#0e7490}.depchip[aria-pressed=true][data-v-3e1700b0]{background:#ecfeff;border-color:#0e7490;color:#0e7490;font-weight:600}.depchip .dot[data-v-3e1700b0]{width:6px;height:6px;border-radius:50%;background:#16a34a}.depchip .dot.pending[data-v-3e1700b0]{background:#d97706}.chip[data-v-3e1700b0]{display:inline-flex;align-items:center;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:5px;background:#f1f5f9;color:#64748b}.chip-ok[data-v-3e1700b0]{background:#dcfce7;color:#15803d}.chip-mono[data-v-3e1700b0]{font-family:SF Mono,Menlo,monospace;font-weight:600}'; |
|||
|
|||
const _name_Styles_DaB9D0lC = [ |
|||
AppDeployTab_vue_vue_type_style_index_0_scoped_b8dfd02c_lang, |
|||
const _name_Styles_DbbtUQpB = [ |
|||
AppDeployTab_vue_vue_type_style_index_0_scoped_7b082515_lang, |
|||
AppModuleTab_vue_vue_type_style_index_0_scoped_ff0e4b71_lang, |
|||
_name__vue_vue_type_style_index_0_scoped_3e1700b0_lang |
|||
]; |
|||
|
|||
export { _name_Styles_DaB9D0lC as default }; |
|||
//# sourceMappingURL=_name_-styles.DaB9D0lC.mjs.map
|
|||
export { _name_Styles_DbbtUQpB as default }; |
|||
//# sourceMappingURL=_name_-styles.DbbtUQpB.mjs.map
|
|||
@ -1 +1 @@ |
|||
{"version":3,"file":"_name_-styles.DaB9D0lC.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/_name_-styles-3.mjs-7yUQQ2f9.js","../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/_name_-styles.DaB9D0lC.mjs"],"names":["style_0","style_1","style_2"],"mappings":"","x_google_ignoreList":[0,1]} |
|||
{"version":3,"file":"_name_-styles.DbbtUQpB.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/_name_-styles-3.mjs-7yUQQ2f9.js","../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/_name_-styles.DbbtUQpB.mjs"],"names":["style_0","style_1","style_2"],"mappings":"","x_google_ignoreList":[0,1]} |
|||
@ -1,165 +0,0 @@ |
|||
import { defineComponent, ref, reactive, useSSRContext } from 'vue'; |
|||
import { ssrRenderAttrs, ssrRenderStyle, ssrRenderList, ssrInterpolate, ssrRenderClass, ssrRenderAttr, ssrIncludeBooleanAttr, ssrLooseContain, ssrLooseEqual } from 'vue/server-renderer'; |
|||
import { u as useApi } from './useApi-D_CttG2t.mjs'; |
|||
import { u as useToast } from './useToast-CS21XT61.mjs'; |
|||
import { _ as _export_sfc } from './server.mjs'; |
|||
import './auth-QFkCoU1C.mjs'; |
|||
import 'pinia'; |
|||
import './useLoading-D4zrSa2m.mjs'; |
|||
import '../nitro/nitro.mjs'; |
|||
import 'node:http'; |
|||
import 'node:https'; |
|||
import 'node:events'; |
|||
import 'node:buffer'; |
|||
import 'node:fs'; |
|||
import 'node:path'; |
|||
import 'node:crypto'; |
|||
import 'node:url'; |
|||
import '../routes/renderer.mjs'; |
|||
import 'vue-bundle-renderer/runtime'; |
|||
import 'unhead/server'; |
|||
import 'devalue'; |
|||
import 'unhead/utils'; |
|||
import 'perfect-debounce'; |
|||
|
|||
const _sfc_main = /* @__PURE__ */ defineComponent({ |
|||
__name: "accounts", |
|||
__ssrInlineRender: true, |
|||
setup(__props) { |
|||
useApi(); |
|||
useToast(); |
|||
const ROLE = { 1: "超管", 2: "管理员", 3: "代理", 4: "运营" }; |
|||
const ROLE_CLS = { 1: "badge-error", 2: "badge-primary", 3: "badge-warning", 4: "badge-info" }; |
|||
const ACCESS_PAGES = [["dashboard", "仪表盘"], ["provider", "方案商"], ["factory", "品牌商"], ["product", "产品管理"], ["device", "生产管理"], ["code", "公码管理"], ["user", "用户查询"], ["apps", "应用注册"]]; |
|||
const REGIONS = [["cn", "中国"], ["us", "美国"], ["ea", "东亚"], ["sea", "东南亚"], ["sa", "南亚"], ["me", "中东"], ["eu", "欧洲"], ["ru", "俄罗斯"], ["af", "非洲"], ["sam", "南美"], ["nam", "北美"], ["oc", "大洋洲"], ["br", "巴西"], ["in", "印度"]]; |
|||
const view = ref("list"); |
|||
const rows = ref([]); |
|||
const apps = ref([]); |
|||
const loading = ref(false); |
|||
const submitting = ref(false); |
|||
const editId = ref(0); |
|||
const form = reactive({ |
|||
username: "", |
|||
password: "", |
|||
identity: 2, |
|||
enabled: "1", |
|||
remark: "" |
|||
}); |
|||
const sel = reactive({ |
|||
access: [], |
|||
apps: [], |
|||
regions: [], |
|||
products: [] |
|||
}); |
|||
const productGroups = ref([]); |
|||
const prodLoading = ref(false); |
|||
function fromCsv(s) { |
|||
return (s || "").split(",").map((x) => x.trim()).filter((x) => x); |
|||
} |
|||
function scopeParts(a) { |
|||
const parts = []; |
|||
if (a.apps) parts.push("应用:" + fromCsv(a.apps).length); |
|||
if (a.regions) parts.push("区域:" + fromCsv(a.regions).length); |
|||
if (a.products) parts.push("产品:" + fromCsv(a.products).length); |
|||
if (a.access) parts.push("页面:" + fromCsv(a.access).length); |
|||
return parts; |
|||
} |
|||
ref(null); |
|||
ref(0); |
|||
const topup = reactive({ |
|||
name: "", |
|||
cur: "", |
|||
vipday: 0, |
|||
trademin: 0, |
|||
meetmin: 0 |
|||
}); |
|||
return (_ctx, _push, _parent, _attrs) => { |
|||
_push(`<div${ssrRenderAttrs(_attrs)} data-v-f682efe9><div style="${ssrRenderStyle(view.value === "list" ? null : { display: "none" })}" data-v-f682efe9><div class="flex items-center justify-between mb-4" data-v-f682efe9><div data-v-f682efe9><h2 class="text-lg font-bold text-slate-700" data-v-f682efe9>后台账号</h2><p class="text-xs text-slate-400 mt-0.5" data-v-f682efe9>超管 / 管理员 / 代理 / 运营。代理·运营可绑定应用·区域·产品,登录后仪表盘按绑定限制。</p></div><button class="btn btn-primary btn-sm text-white" data-v-f682efe9>+ 新建账号</button></div><div class="bg-white rounded-xl shadow-sm border border-slate-100 overflow-hidden" data-v-f682efe9><table class="table table-sm" data-v-f682efe9><thead data-v-f682efe9><tr class="text-slate-500" data-v-f682efe9><th data-v-f682efe9>ID</th><th data-v-f682efe9>用户名</th><th data-v-f682efe9>角色</th><th data-v-f682efe9>状态</th><th data-v-f682efe9>绑定作用域</th><th data-v-f682efe9>备注</th><th class="text-right" data-v-f682efe9>操作</th></tr></thead><tbody data-v-f682efe9>`); |
|||
if (loading.value) { |
|||
_push(`<tr data-v-f682efe9><td colspan="7" class="text-center text-slate-400 py-8" data-v-f682efe9>加载中...</td></tr>`); |
|||
} else if (!rows.value.length) { |
|||
_push(`<tr data-v-f682efe9><td colspan="7" class="text-center text-slate-400 py-8" data-v-f682efe9>暂无账号(引导超管不在此列)</td></tr>`); |
|||
} else { |
|||
_push(`<!---->`); |
|||
} |
|||
_push(`<!--[-->`); |
|||
ssrRenderList(rows.value, (a) => { |
|||
_push(`<tr data-v-f682efe9><td class="font-mono" data-v-f682efe9>${ssrInterpolate(a.id)}</td><td class="font-medium" data-v-f682efe9>${ssrInterpolate(a.username || "")}</td><td data-v-f682efe9><span class="${ssrRenderClass([ROLE_CLS[a.identity] || "", "badge badge-sm"])}" data-v-f682efe9>${ssrInterpolate(ROLE[a.identity] || a.identity)}</span></td><td data-v-f682efe9>`); |
|||
if (a.enabled) { |
|||
_push(`<span class="text-green-600 text-xs" data-v-f682efe9>启用</span>`); |
|||
} else { |
|||
_push(`<span class="text-slate-400 text-xs" data-v-f682efe9>停用</span>`); |
|||
} |
|||
_push(`</td><td data-v-f682efe9>`); |
|||
if (a.identity === 3 || a.identity === 4) { |
|||
_push(`<!--[-->`); |
|||
if (scopeParts(a).length) { |
|||
_push(`<span class="text-xs text-slate-500" data-v-f682efe9>${ssrInterpolate(scopeParts(a).join(" · "))}</span>`); |
|||
} else { |
|||
_push(`<span class="text-xs text-slate-300" data-v-f682efe9>未绑定(不限)</span>`); |
|||
} |
|||
_push(`<!--]-->`); |
|||
} else { |
|||
_push(`<span class="text-xs text-slate-300" data-v-f682efe9>全部权限</span>`); |
|||
} |
|||
if (a.identity === 3) { |
|||
_push(`<div class="text-[11px] text-emerald-600 mt-0.5" data-v-f682efe9> 余额 VIP${ssrInterpolate(a.balance_vipday || 0)}天 · 翻译${ssrInterpolate(a.balance_trademin || 0)}分 · 会议${ssrInterpolate(a.balance_meetmin || 0)}分 </div>`); |
|||
} else { |
|||
_push(`<!---->`); |
|||
} |
|||
_push(`</td><td class="text-xs text-slate-500" data-v-f682efe9>${ssrInterpolate(a.remark || "")}</td><td data-v-f682efe9><div class="flex gap-1 justify-end" data-v-f682efe9>`); |
|||
if (a.identity === 3) { |
|||
_push(`<button class="btn btn-ghost btn-xs text-emerald-600" data-v-f682efe9>充值</button>`); |
|||
} else { |
|||
_push(`<!---->`); |
|||
} |
|||
_push(`<button class="btn btn-ghost btn-xs" data-v-f682efe9>编辑</button><button class="btn btn-ghost btn-xs text-amber-600" data-v-f682efe9>改密</button><button class="btn btn-ghost btn-xs text-red-500" data-v-f682efe9>删除</button></div></td></tr>`); |
|||
}); |
|||
_push(`<!--]--></tbody></table></div></div><div style="${ssrRenderStyle(view.value === "form" ? null : { display: "none" })}" data-v-f682efe9><div class="flex items-center gap-3 mb-5" data-v-f682efe9><button class="btn btn-ghost btn-sm" data-v-f682efe9>← 返回列表</button><h2 class="text-lg font-semibold text-slate-800" data-v-f682efe9>${ssrInterpolate(editId.value ? "编辑账号 #" + editId.value : "新建账号")}</h2></div><div class="bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-2xl" data-v-f682efe9><div class="grid grid-cols-2 gap-3" data-v-f682efe9><div data-v-f682efe9><label class="text-xs text-slate-500" data-v-f682efe9>用户名</label><input${ssrRenderAttr("value", form.username)}${ssrIncludeBooleanAttr(!!editId.value) ? " disabled" : ""} class="input input-bordered input-sm w-full" placeholder="登录用户名" data-v-f682efe9></div><div style="${ssrRenderStyle(!editId.value ? null : { display: "none" })}" data-v-f682efe9><label class="text-xs text-slate-500" data-v-f682efe9>密码</label><input${ssrRenderAttr("value", form.password)} type="password" class="input input-bordered input-sm w-full" placeholder="登录密码" data-v-f682efe9></div><div data-v-f682efe9><label class="text-xs text-slate-500" data-v-f682efe9>角色</label><select class="select select-bordered select-sm w-full" data-v-f682efe9><option${ssrRenderAttr("value", 2)} data-v-f682efe9${ssrIncludeBooleanAttr(Array.isArray(form.identity) ? ssrLooseContain(form.identity, 2) : ssrLooseEqual(form.identity, 2)) ? " selected" : ""}>管理员(除账号管理外全部)</option><option${ssrRenderAttr("value", 3)} data-v-f682efe9${ssrIncludeBooleanAttr(Array.isArray(form.identity) ? ssrLooseContain(form.identity, 3) : ssrLooseEqual(form.identity, 3)) ? " selected" : ""}>代理(外部,按绑定限制)</option><option${ssrRenderAttr("value", 4)} data-v-f682efe9${ssrIncludeBooleanAttr(Array.isArray(form.identity) ? ssrLooseContain(form.identity, 4) : ssrLooseEqual(form.identity, 4)) ? " selected" : ""}>运营(内部,按绑定限制)</option><option${ssrRenderAttr("value", 1)} data-v-f682efe9${ssrIncludeBooleanAttr(Array.isArray(form.identity) ? ssrLooseContain(form.identity, 1) : ssrLooseEqual(form.identity, 1)) ? " selected" : ""}>超管(全部权限)</option></select></div><div data-v-f682efe9><label class="text-xs text-slate-500" data-v-f682efe9>状态</label><select class="select select-bordered select-sm w-full" data-v-f682efe9><option value="1" data-v-f682efe9${ssrIncludeBooleanAttr(Array.isArray(form.enabled) ? ssrLooseContain(form.enabled, "1") : ssrLooseEqual(form.enabled, "1")) ? " selected" : ""}>启用</option><option value="0" data-v-f682efe9${ssrIncludeBooleanAttr(Array.isArray(form.enabled) ? ssrLooseContain(form.enabled, "0") : ssrLooseEqual(form.enabled, "0")) ? " selected" : ""}>停用</option></select></div><div class="col-span-2" data-v-f682efe9><label class="text-xs text-slate-500" data-v-f682efe9>备注</label><input${ssrRenderAttr("value", form.remark)} class="input input-bordered input-sm w-full" placeholder="可选" data-v-f682efe9></div></div><div class="mt-4 border-t border-slate-100 pt-4" style="${ssrRenderStyle(form.identity === 3 || form.identity === 4 ? null : { display: "none" })}" data-v-f682efe9><div class="text-sm font-semibold text-slate-600 mb-2" data-v-f682efe9>作用域绑定 <span class="text-xs text-slate-400 font-normal" data-v-f682efe9>(代理/运营生效;勾选可访问页面,并限制仪表盘数据范围)</span></div><div class="mb-3" data-v-f682efe9><div class="text-xs text-slate-500 mb-1.5" data-v-f682efe9>可访问页面</div><div class="flex flex-wrap gap-2" data-v-f682efe9><!--[-->`); |
|||
ssrRenderList(ACCESS_PAGES, (p) => { |
|||
_push(`<label class="chk" data-v-f682efe9><input${ssrIncludeBooleanAttr(Array.isArray(sel.access) ? ssrLooseContain(sel.access, p[0]) : sel.access) ? " checked" : ""} type="checkbox"${ssrRenderAttr("value", p[0])} data-v-f682efe9>${ssrInterpolate(p[1])}</label>`); |
|||
}); |
|||
_push(`<!--]--></div></div><div class="mb-3" data-v-f682efe9><div class="text-xs text-slate-500 mb-1.5" data-v-f682efe9>绑定应用 <span class="text-slate-300" data-v-f682efe9>(仪表盘只显示这些应用数据;不勾=不限)</span></div><div class="flex flex-wrap gap-2" data-v-f682efe9>`); |
|||
if (apps.value.length) { |
|||
_push(`<!--[-->`); |
|||
ssrRenderList(apps.value, (a) => { |
|||
_push(`<label class="chk" data-v-f682efe9><input${ssrIncludeBooleanAttr(Array.isArray(sel.apps) ? ssrLooseContain(sel.apps, a.name) : sel.apps) ? " checked" : ""} type="checkbox"${ssrRenderAttr("value", a.name)} data-v-f682efe9>${ssrInterpolate(a.name || "应用#" + a.id)}</label>`); |
|||
}); |
|||
_push(`<!--]-->`); |
|||
} else { |
|||
_push(`<span class="text-xs text-slate-300" data-v-f682efe9>无注册应用</span>`); |
|||
} |
|||
_push(`</div></div><div class="mb-3" data-v-f682efe9><div class="text-xs text-slate-500 mb-1.5" data-v-f682efe9>绑定区域 <span class="text-slate-300" data-v-f682efe9>(不勾=不限)</span></div><div class="flex flex-wrap gap-2" data-v-f682efe9><!--[-->`); |
|||
ssrRenderList(REGIONS, (r) => { |
|||
_push(`<label class="chk" data-v-f682efe9><input${ssrIncludeBooleanAttr(Array.isArray(sel.regions) ? ssrLooseContain(sel.regions, r[0]) : sel.regions) ? " checked" : ""} type="checkbox"${ssrRenderAttr("value", r[0])} data-v-f682efe9>${ssrInterpolate(r[1])}</label>`); |
|||
}); |
|||
_push(`<!--]--></div></div><div data-v-f682efe9><div class="text-xs text-slate-500 mb-1.5" data-v-f682efe9>绑定产品 <span class="text-slate-300" data-v-f682efe9>(按厂家分组;仪表盘只显示这些产品数据;不勾=不限)</span></div><div class="max-h-56 overflow-y-auto pr-1 border border-slate-100 rounded-lg p-2" data-v-f682efe9>`); |
|||
if (prodLoading.value) { |
|||
_push(`<span class="text-xs text-slate-300" data-v-f682efe9>加载产品中...</span>`); |
|||
} else if (!productGroups.value.length) { |
|||
_push(`<span class="text-xs text-slate-300" data-v-f682efe9>无产品</span>`); |
|||
} else { |
|||
_push(`<!--[-->`); |
|||
ssrRenderList(productGroups.value, (g) => { |
|||
_push(`<div class="mb-2 last:mb-0" data-v-f682efe9><div class="text-[11px] font-semibold text-slate-500 mb-1 sticky top-0 bg-white py-0.5" data-v-f682efe9>🏭 ${ssrInterpolate(g.label)}</div><div class="flex flex-wrap gap-2" data-v-f682efe9><!--[-->`); |
|||
ssrRenderList(g.products, (p) => { |
|||
_push(`<label class="chk" data-v-f682efe9><input${ssrIncludeBooleanAttr(Array.isArray(sel.products) ? ssrLooseContain(sel.products, String(p.id)) : sel.products) ? " checked" : ""} type="checkbox"${ssrRenderAttr("value", String(p.id))} data-v-f682efe9>${ssrInterpolate((p.devicename || "产品") + " #" + p.id)}</label>`); |
|||
}); |
|||
_push(`<!--]--></div></div>`); |
|||
}); |
|||
_push(`<!--]-->`); |
|||
} |
|||
_push(`</div></div></div><div class="flex gap-3 justify-end mt-6" data-v-f682efe9><button class="btn btn-ghost btn-sm" data-v-f682efe9>取消</button><button class="btn btn-primary btn-sm text-white"${ssrIncludeBooleanAttr(submitting.value) ? " disabled" : ""} data-v-f682efe9>保存</button></div></div></div><dialog class="modal" data-v-f682efe9><div class="modal-box max-w-md" data-v-f682efe9><h3 class="font-bold text-lg mb-1" data-v-f682efe9>充值 / 调整资源点</h3><p class="text-xs text-slate-400 mb-3" data-v-f682efe9>代理:<span class="font-medium text-slate-600" data-v-f682efe9>${ssrInterpolate(topup.name)}</span>。填增量(可填负数下调),当前余额:<span class="text-emerald-600" data-v-f682efe9>${ssrInterpolate(topup.cur)}</span></p><div class="grid grid-cols-3 gap-3" data-v-f682efe9><div data-v-f682efe9><label class="text-xs text-slate-500" data-v-f682efe9>VIP天数</label><input${ssrRenderAttr("value", topup.vipday)} type="number" class="input input-bordered input-sm w-full" data-v-f682efe9></div><div data-v-f682efe9><label class="text-xs text-slate-500" data-v-f682efe9>翻译分钟</label><input${ssrRenderAttr("value", topup.trademin)} type="number" class="input input-bordered input-sm w-full" data-v-f682efe9></div><div data-v-f682efe9><label class="text-xs text-slate-500" data-v-f682efe9>会议分钟</label><input${ssrRenderAttr("value", topup.meetmin)} type="number" class="input input-bordered input-sm w-full" data-v-f682efe9></div></div><div class="modal-action" data-v-f682efe9><button class="btn btn-ghost btn-sm" data-v-f682efe9>取消</button><button class="btn btn-primary btn-sm text-white" data-v-f682efe9>确认</button></div></div><form method="dialog" class="modal-backdrop" data-v-f682efe9><button data-v-f682efe9>close</button></form></dialog></div>`); |
|||
}; |
|||
} |
|||
}); |
|||
const _sfc_setup = _sfc_main.setup; |
|||
_sfc_main.setup = (props, ctx) => { |
|||
const ssrContext = useSSRContext(); |
|||
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/accounts.vue"); |
|||
return _sfc_setup ? _sfc_setup(props, ctx) : void 0; |
|||
}; |
|||
const accounts = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f682efe9"]]); |
|||
|
|||
export { accounts as default }; |
|||
//# sourceMappingURL=accounts-D3gizV-b.mjs.map
|
|||
@ -1 +0,0 @@ |
|||
{"version":3,"file":"accounts-D3gizV-b.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/accounts-D3gizV-b.js"],"names":[],"mappings":"","x_google_ignoreList":[0]} |
|||
@ -0,0 +1,184 @@ |
|||
import { defineComponent, ref, reactive, watch, unref, useSSRContext } from 'vue'; |
|||
import { ssrRenderAttrs, ssrRenderStyle, ssrRenderList, ssrInterpolate, ssrRenderClass, ssrRenderAttr, ssrIncludeBooleanAttr, ssrLooseContain, ssrLooseEqual } from 'vue/server-renderer'; |
|||
import { u as useApi } from './useApi-B-E5eLsI.mjs'; |
|||
import { u as useToast } from './useToast-CS21XT61.mjs'; |
|||
import { _ as _export_sfc, D as DEFAULT_ADMIN_ACCESS, M as MENU_GROUPS } from './server.mjs'; |
|||
import './useLoading-D4zrSa2m.mjs'; |
|||
import '../nitro/nitro.mjs'; |
|||
import 'node:http'; |
|||
import 'node:https'; |
|||
import 'node:events'; |
|||
import 'node:buffer'; |
|||
import 'node:fs'; |
|||
import 'node:path'; |
|||
import 'node:crypto'; |
|||
import 'node:url'; |
|||
import '../routes/renderer.mjs'; |
|||
import 'vue-bundle-renderer/runtime'; |
|||
import 'unhead/server'; |
|||
import 'devalue'; |
|||
import 'unhead/utils'; |
|||
import 'pinia'; |
|||
import 'perfect-debounce'; |
|||
|
|||
const _sfc_main = /* @__PURE__ */ defineComponent({ |
|||
__name: "accounts", |
|||
__ssrInlineRender: true, |
|||
setup(__props) { |
|||
useApi(); |
|||
useToast(); |
|||
const ROLE = { 1: "超管", 2: "管理员", 3: "代理", 4: "运营" }; |
|||
const ROLE_CLS = { 1: "badge-error", 2: "badge-primary", 3: "badge-warning", 4: "badge-info" }; |
|||
const REGIONS = [["cn", "中国"], ["us", "美国"], ["ea", "东亚"], ["sea", "东南亚"], ["sa", "南亚"], ["me", "中东"], ["eu", "欧洲"], ["ru", "俄罗斯"], ["af", "非洲"], ["sam", "南美"], ["nam", "北美"], ["oc", "大洋洲"], ["br", "巴西"], ["in", "印度"]]; |
|||
const view = ref("list"); |
|||
const rows = ref([]); |
|||
const apps = ref([]); |
|||
const loading = ref(false); |
|||
const submitting = ref(false); |
|||
const editId = ref(0); |
|||
const form = reactive({ |
|||
username: "", |
|||
password: "", |
|||
identity: 2, |
|||
enabled: "1", |
|||
remark: "" |
|||
}); |
|||
const sel = reactive({ |
|||
access: [], |
|||
apps: [], |
|||
regions: [], |
|||
products: [] |
|||
}); |
|||
const productGroups = ref([]); |
|||
const prodLoading = ref(false); |
|||
function fromCsv(s) { |
|||
return (s || "").split(",").map((x) => x.trim()).filter((x) => x); |
|||
} |
|||
function scopeParts(a) { |
|||
const parts = []; |
|||
if (a.apps) parts.push("应用:" + fromCsv(a.apps).length); |
|||
if (a.regions) parts.push("区域:" + fromCsv(a.regions).length); |
|||
if (a.products) parts.push("产品:" + fromCsv(a.products).length); |
|||
if (a.access) parts.push("页面:" + fromCsv(a.access).length); |
|||
return parts; |
|||
} |
|||
watch(() => form.identity, (idt) => { |
|||
if (idt === 2 && sel.access.length === 0) sel.access = DEFAULT_ADMIN_ACCESS.slice(); |
|||
}); |
|||
ref(null); |
|||
ref(0); |
|||
const topup = reactive({ |
|||
name: "", |
|||
cur: "", |
|||
vipday: 0, |
|||
trademin: 0, |
|||
meetmin: 0 |
|||
}); |
|||
return (_ctx, _push, _parent, _attrs) => { |
|||
_push(`<div${ssrRenderAttrs(_attrs)} data-v-06dca20b><div style="${ssrRenderStyle(view.value === "list" ? null : { display: "none" })}" data-v-06dca20b><div class="flex items-center justify-between mb-4" data-v-06dca20b><div data-v-06dca20b><h2 class="text-lg font-bold text-slate-700" data-v-06dca20b>后台账号</h2><p class="text-xs text-slate-400 mt-0.5" data-v-06dca20b>超管 / 管理员 / 代理 / 运营。代理·运营可绑定应用·区域·产品,登录后仪表盘按绑定限制。</p></div><button class="btn btn-primary btn-sm text-white" data-v-06dca20b>+ 新建账号</button></div><div class="bg-white rounded-xl shadow-sm border border-slate-100 overflow-hidden" data-v-06dca20b><table class="table table-sm" data-v-06dca20b><thead data-v-06dca20b><tr class="text-slate-500" data-v-06dca20b><th data-v-06dca20b>ID</th><th data-v-06dca20b>用户名</th><th data-v-06dca20b>角色</th><th data-v-06dca20b>状态</th><th data-v-06dca20b>绑定作用域</th><th data-v-06dca20b>备注</th><th class="text-right" data-v-06dca20b>操作</th></tr></thead><tbody data-v-06dca20b>`); |
|||
if (loading.value) { |
|||
_push(`<tr data-v-06dca20b><td colspan="7" class="text-center text-slate-400 py-8" data-v-06dca20b>加载中...</td></tr>`); |
|||
} else if (!rows.value.length) { |
|||
_push(`<tr data-v-06dca20b><td colspan="7" class="text-center text-slate-400 py-8" data-v-06dca20b>暂无账号(引导超管不在此列)</td></tr>`); |
|||
} else { |
|||
_push(`<!---->`); |
|||
} |
|||
_push(`<!--[-->`); |
|||
ssrRenderList(rows.value, (a) => { |
|||
_push(`<tr data-v-06dca20b><td class="font-mono" data-v-06dca20b>${ssrInterpolate(a.id)}</td><td class="font-medium" data-v-06dca20b>${ssrInterpolate(a.username || "")}</td><td data-v-06dca20b><span class="${ssrRenderClass([ROLE_CLS[a.identity] || "", "badge badge-sm"])}" data-v-06dca20b>${ssrInterpolate(ROLE[a.identity] || a.identity)}</span></td><td data-v-06dca20b>`); |
|||
if (a.enabled) { |
|||
_push(`<span class="text-green-600 text-xs" data-v-06dca20b>启用</span>`); |
|||
} else { |
|||
_push(`<span class="text-slate-400 text-xs" data-v-06dca20b>停用</span>`); |
|||
} |
|||
_push(`</td><td data-v-06dca20b>`); |
|||
if (a.identity === 3 || a.identity === 4) { |
|||
_push(`<!--[-->`); |
|||
if (scopeParts(a).length) { |
|||
_push(`<span class="text-xs text-slate-500" data-v-06dca20b>${ssrInterpolate(scopeParts(a).join(" · "))}</span>`); |
|||
} else { |
|||
_push(`<span class="text-xs text-slate-300" data-v-06dca20b>未绑定(不限)</span>`); |
|||
} |
|||
_push(`<!--]-->`); |
|||
} else if (a.identity === 2) { |
|||
_push(`<!--[-->`); |
|||
if (a.access) { |
|||
_push(`<span class="text-xs text-slate-500" data-v-06dca20b>菜单:${ssrInterpolate(fromCsv(a.access).length)}</span>`); |
|||
} else { |
|||
_push(`<span class="text-xs text-slate-300" data-v-06dca20b>默认(除SaaS/系统管理)</span>`); |
|||
} |
|||
_push(`<!--]-->`); |
|||
} else { |
|||
_push(`<span class="text-xs text-slate-300" data-v-06dca20b>全部权限</span>`); |
|||
} |
|||
if (a.identity === 3) { |
|||
_push(`<div class="text-[11px] text-emerald-600 mt-0.5" data-v-06dca20b> 余额 VIP${ssrInterpolate(a.balance_vipday || 0)}天 · 翻译${ssrInterpolate(a.balance_trademin || 0)}分 · 会议${ssrInterpolate(a.balance_meetmin || 0)}分 </div>`); |
|||
} else { |
|||
_push(`<!---->`); |
|||
} |
|||
_push(`</td><td class="text-xs text-slate-500" data-v-06dca20b>${ssrInterpolate(a.remark || "")}</td><td data-v-06dca20b><div class="flex gap-1 justify-end" data-v-06dca20b>`); |
|||
if (a.identity === 3) { |
|||
_push(`<button class="btn btn-ghost btn-xs text-emerald-600" data-v-06dca20b>充值</button>`); |
|||
} else { |
|||
_push(`<!---->`); |
|||
} |
|||
_push(`<button class="btn btn-ghost btn-xs" data-v-06dca20b>编辑</button><button class="btn btn-ghost btn-xs text-amber-600" data-v-06dca20b>改密</button><button class="btn btn-ghost btn-xs text-red-500" data-v-06dca20b>删除</button></div></td></tr>`); |
|||
}); |
|||
_push(`<!--]--></tbody></table></div></div><div style="${ssrRenderStyle(view.value === "form" ? null : { display: "none" })}" data-v-06dca20b><div class="flex items-center gap-3 mb-5" data-v-06dca20b><button class="btn btn-ghost btn-sm" data-v-06dca20b>← 返回列表</button><h2 class="text-lg font-semibold text-slate-800" data-v-06dca20b>${ssrInterpolate(editId.value ? "编辑账号 #" + editId.value : "新建账号")}</h2></div><div class="bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-2xl" data-v-06dca20b><div class="grid grid-cols-2 gap-3" data-v-06dca20b><div data-v-06dca20b><label class="text-xs text-slate-500" data-v-06dca20b>用户名</label><input${ssrRenderAttr("value", form.username)}${ssrIncludeBooleanAttr(!!editId.value) ? " disabled" : ""} class="input input-bordered input-sm w-full" placeholder="登录用户名" data-v-06dca20b></div><div style="${ssrRenderStyle(!editId.value ? null : { display: "none" })}" data-v-06dca20b><label class="text-xs text-slate-500" data-v-06dca20b>密码</label><input${ssrRenderAttr("value", form.password)} type="password" class="input input-bordered input-sm w-full" placeholder="登录密码" data-v-06dca20b></div><div data-v-06dca20b><label class="text-xs text-slate-500" data-v-06dca20b>角色</label><select class="select select-bordered select-sm w-full" data-v-06dca20b><option${ssrRenderAttr("value", 2)} data-v-06dca20b${ssrIncludeBooleanAttr(Array.isArray(form.identity) ? ssrLooseContain(form.identity, 2) : ssrLooseEqual(form.identity, 2)) ? " selected" : ""}>管理员(默认除 SaaS/系统管理外全部)</option><option${ssrRenderAttr("value", 3)} data-v-06dca20b${ssrIncludeBooleanAttr(Array.isArray(form.identity) ? ssrLooseContain(form.identity, 3) : ssrLooseEqual(form.identity, 3)) ? " selected" : ""}>代理(外部,按绑定限制)</option><option${ssrRenderAttr("value", 4)} data-v-06dca20b${ssrIncludeBooleanAttr(Array.isArray(form.identity) ? ssrLooseContain(form.identity, 4) : ssrLooseEqual(form.identity, 4)) ? " selected" : ""}>运营(内部,按绑定限制)</option><option${ssrRenderAttr("value", 1)} data-v-06dca20b${ssrIncludeBooleanAttr(Array.isArray(form.identity) ? ssrLooseContain(form.identity, 1) : ssrLooseEqual(form.identity, 1)) ? " selected" : ""}>超管(全部权限)</option></select></div><div data-v-06dca20b><label class="text-xs text-slate-500" data-v-06dca20b>状态</label><select class="select select-bordered select-sm w-full" data-v-06dca20b><option value="1" data-v-06dca20b${ssrIncludeBooleanAttr(Array.isArray(form.enabled) ? ssrLooseContain(form.enabled, "1") : ssrLooseEqual(form.enabled, "1")) ? " selected" : ""}>启用</option><option value="0" data-v-06dca20b${ssrIncludeBooleanAttr(Array.isArray(form.enabled) ? ssrLooseContain(form.enabled, "0") : ssrLooseEqual(form.enabled, "0")) ? " selected" : ""}>停用</option></select></div><div class="col-span-2" data-v-06dca20b><label class="text-xs text-slate-500" data-v-06dca20b>备注</label><input${ssrRenderAttr("value", form.remark)} class="input input-bordered input-sm w-full" placeholder="可选" data-v-06dca20b></div></div><div class="mt-4 border-t border-slate-100 pt-4" style="${ssrRenderStyle(form.identity !== 1 ? null : { display: "none" })}" data-v-06dca20b><div class="flex items-center justify-between mb-1" data-v-06dca20b><div class="text-sm font-semibold text-slate-600" data-v-06dca20b>菜单权限</div><div class="flex gap-1" data-v-06dca20b><button type="button" class="btn btn-ghost btn-xs" data-v-06dca20b>管理员默认</button><button type="button" class="btn btn-ghost btn-xs" data-v-06dca20b>全选</button><button type="button" class="btn btn-ghost btn-xs" data-v-06dca20b>清空</button></div></div><p class="text-xs text-slate-400 mb-3" data-v-06dca20b>管理员默认开放除「SaaS 管理 / 系统管理」以外的全部菜单(权限留空时按默认生效);代理/运营需显式勾选。</p><!--[-->`); |
|||
ssrRenderList(unref(MENU_GROUPS), (g) => { |
|||
_push(`<div class="mb-2.5" data-v-06dca20b><div class="text-xs text-slate-500 mb-1.5" data-v-06dca20b>${ssrInterpolate(g.label)}`); |
|||
if (g.restricted) { |
|||
_push(`<span class="text-amber-500 ml-1" data-v-06dca20b>(管理员默认不开放)</span>`); |
|||
} else { |
|||
_push(`<!---->`); |
|||
} |
|||
_push(`</div><div class="flex flex-wrap gap-2" data-v-06dca20b><!--[-->`); |
|||
ssrRenderList(g.items, (m) => { |
|||
_push(`<label class="chk" data-v-06dca20b><input${ssrIncludeBooleanAttr(Array.isArray(sel.access) ? ssrLooseContain(sel.access, m.id) : sel.access) ? " checked" : ""} type="checkbox"${ssrRenderAttr("value", m.id)} data-v-06dca20b>${ssrInterpolate(m.label)}</label>`); |
|||
}); |
|||
_push(`<!--]--></div></div>`); |
|||
}); |
|||
_push(`<!--]--></div><div class="mt-4 border-t border-slate-100 pt-4" style="${ssrRenderStyle(form.identity === 3 || form.identity === 4 ? null : { display: "none" })}" data-v-06dca20b><div class="text-sm font-semibold text-slate-600 mb-2" data-v-06dca20b>作用域绑定 <span class="text-xs text-slate-400 font-normal" data-v-06dca20b>(代理/运营生效;限制仪表盘数据范围)</span></div><div class="mb-3" data-v-06dca20b><div class="text-xs text-slate-500 mb-1.5" data-v-06dca20b>绑定应用 <span class="text-slate-300" data-v-06dca20b>(仪表盘只显示这些应用数据;不勾=不限)</span></div><div class="flex flex-wrap gap-2" data-v-06dca20b>`); |
|||
if (apps.value.length) { |
|||
_push(`<!--[-->`); |
|||
ssrRenderList(apps.value, (a) => { |
|||
_push(`<label class="chk" data-v-06dca20b><input${ssrIncludeBooleanAttr(Array.isArray(sel.apps) ? ssrLooseContain(sel.apps, a.name) : sel.apps) ? " checked" : ""} type="checkbox"${ssrRenderAttr("value", a.name)} data-v-06dca20b>${ssrInterpolate(a.name || "应用#" + a.id)}</label>`); |
|||
}); |
|||
_push(`<!--]-->`); |
|||
} else { |
|||
_push(`<span class="text-xs text-slate-300" data-v-06dca20b>无注册应用</span>`); |
|||
} |
|||
_push(`</div></div><div class="mb-3" data-v-06dca20b><div class="text-xs text-slate-500 mb-1.5" data-v-06dca20b>绑定区域 <span class="text-slate-300" data-v-06dca20b>(不勾=不限)</span></div><div class="flex flex-wrap gap-2" data-v-06dca20b><!--[-->`); |
|||
ssrRenderList(REGIONS, (r) => { |
|||
_push(`<label class="chk" data-v-06dca20b><input${ssrIncludeBooleanAttr(Array.isArray(sel.regions) ? ssrLooseContain(sel.regions, r[0]) : sel.regions) ? " checked" : ""} type="checkbox"${ssrRenderAttr("value", r[0])} data-v-06dca20b>${ssrInterpolate(r[1])}</label>`); |
|||
}); |
|||
_push(`<!--]--></div></div><div data-v-06dca20b><div class="text-xs text-slate-500 mb-1.5" data-v-06dca20b>绑定产品 <span class="text-slate-300" data-v-06dca20b>(按厂家分组;仪表盘只显示这些产品数据;不勾=不限)</span></div><div class="max-h-56 overflow-y-auto pr-1 border border-slate-100 rounded-lg p-2" data-v-06dca20b>`); |
|||
if (prodLoading.value) { |
|||
_push(`<span class="text-xs text-slate-300" data-v-06dca20b>加载产品中...</span>`); |
|||
} else if (!productGroups.value.length) { |
|||
_push(`<span class="text-xs text-slate-300" data-v-06dca20b>无产品</span>`); |
|||
} else { |
|||
_push(`<!--[-->`); |
|||
ssrRenderList(productGroups.value, (g) => { |
|||
_push(`<div class="mb-2 last:mb-0" data-v-06dca20b><div class="text-[11px] font-semibold text-slate-500 mb-1 sticky top-0 bg-white py-0.5" data-v-06dca20b>🏭 ${ssrInterpolate(g.label)}</div><div class="flex flex-wrap gap-2" data-v-06dca20b><!--[-->`); |
|||
ssrRenderList(g.products, (p) => { |
|||
_push(`<label class="chk" data-v-06dca20b><input${ssrIncludeBooleanAttr(Array.isArray(sel.products) ? ssrLooseContain(sel.products, String(p.id)) : sel.products) ? " checked" : ""} type="checkbox"${ssrRenderAttr("value", String(p.id))} data-v-06dca20b>${ssrInterpolate((p.devicename || "产品") + " #" + p.id)}</label>`); |
|||
}); |
|||
_push(`<!--]--></div></div>`); |
|||
}); |
|||
_push(`<!--]-->`); |
|||
} |
|||
_push(`</div></div></div><div class="flex gap-3 justify-end mt-6" data-v-06dca20b><button class="btn btn-ghost btn-sm" data-v-06dca20b>取消</button><button class="btn btn-primary btn-sm text-white"${ssrIncludeBooleanAttr(submitting.value) ? " disabled" : ""} data-v-06dca20b>保存</button></div></div></div><dialog class="modal" data-v-06dca20b><div class="modal-box max-w-md" data-v-06dca20b><h3 class="font-bold text-lg mb-1" data-v-06dca20b>充值 / 调整资源点</h3><p class="text-xs text-slate-400 mb-3" data-v-06dca20b>代理:<span class="font-medium text-slate-600" data-v-06dca20b>${ssrInterpolate(topup.name)}</span>。填增量(可填负数下调),当前余额:<span class="text-emerald-600" data-v-06dca20b>${ssrInterpolate(topup.cur)}</span></p><div class="grid grid-cols-3 gap-3" data-v-06dca20b><div data-v-06dca20b><label class="text-xs text-slate-500" data-v-06dca20b>VIP天数</label><input${ssrRenderAttr("value", topup.vipday)} type="number" class="input input-bordered input-sm w-full" data-v-06dca20b></div><div data-v-06dca20b><label class="text-xs text-slate-500" data-v-06dca20b>翻译分钟</label><input${ssrRenderAttr("value", topup.trademin)} type="number" class="input input-bordered input-sm w-full" data-v-06dca20b></div><div data-v-06dca20b><label class="text-xs text-slate-500" data-v-06dca20b>会议分钟</label><input${ssrRenderAttr("value", topup.meetmin)} type="number" class="input input-bordered input-sm w-full" data-v-06dca20b></div></div><div class="modal-action" data-v-06dca20b><button class="btn btn-ghost btn-sm" data-v-06dca20b>取消</button><button class="btn btn-primary btn-sm text-white" data-v-06dca20b>确认</button></div></div><form method="dialog" class="modal-backdrop" data-v-06dca20b><button data-v-06dca20b>close</button></form></dialog></div>`); |
|||
}; |
|||
} |
|||
}); |
|||
const _sfc_setup = _sfc_main.setup; |
|||
_sfc_main.setup = (props, ctx) => { |
|||
const ssrContext = useSSRContext(); |
|||
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/accounts.vue"); |
|||
return _sfc_setup ? _sfc_setup(props, ctx) : void 0; |
|||
}; |
|||
const accounts = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-06dca20b"]]); |
|||
|
|||
export { accounts as default }; |
|||
//# sourceMappingURL=accounts-Do2bLhnl.mjs.map
|
|||
@ -0,0 +1 @@ |
|||
{"version":3,"file":"accounts-Do2bLhnl.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/accounts-Do2bLhnl.js"],"names":[],"mappings":"","x_google_ignoreList":[0]} |
|||
@ -1,8 +0,0 @@ |
|||
const accounts_vue_vue_type_style_index_0_scoped_f682efe9_lang = ".chk[data-v-f682efe9]{display:flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid #e2e8f0;border-radius:8px;font-size:12px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chk[data-v-f682efe9]:hover{background:#f8fafc}.chk input[data-v-f682efe9]{width:14px;height:14px}"; |
|||
|
|||
const accountsStyles_CwGaTVL4 = [ |
|||
accounts_vue_vue_type_style_index_0_scoped_f682efe9_lang |
|||
]; |
|||
|
|||
export { accountsStyles_CwGaTVL4 as default }; |
|||
//# sourceMappingURL=accounts-styles.CwGaTVL4.mjs.map
|
|||
@ -1 +0,0 @@ |
|||
{"version":3,"file":"accounts-styles.CwGaTVL4.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/accounts-styles-1.mjs-DOf6aK3f.js","../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/accounts-styles.CwGaTVL4.mjs"],"names":["style_0"],"mappings":"","x_google_ignoreList":[0,1]} |
|||
@ -0,0 +1,8 @@ |
|||
const accounts_vue_vue_type_style_index_0_scoped_06dca20b_lang = ".chk[data-v-06dca20b]{display:flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid #e2e8f0;border-radius:8px;font-size:12px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chk[data-v-06dca20b]:hover{background:#f8fafc}.chk input[data-v-06dca20b]{width:14px;height:14px}"; |
|||
|
|||
const accountsStyles_E9MHodaB = [ |
|||
accounts_vue_vue_type_style_index_0_scoped_06dca20b_lang |
|||
]; |
|||
|
|||
export { accountsStyles_E9MHodaB as default }; |
|||
//# sourceMappingURL=accounts-styles.E9MHodaB.mjs.map
|
|||
@ -0,0 +1 @@ |
|||
{"version":3,"file":"accounts-styles.E9MHodaB.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/accounts-styles-1.mjs-SXsKnpTk.js","../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/accounts-styles.E9MHodaB.mjs"],"names":["style_0"],"mappings":"","x_google_ignoreList":[0,1]} |
|||
@ -1 +0,0 @@ |
|||
{"version":3,"file":"auth-C9kTPqOY.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/auth-C9kTPqOY.js"],"names":[],"mappings":"","x_google_ignoreList":[0]} |
|||
@ -0,0 +1 @@ |
|||
{"version":3,"file":"auth-DqemnCNa.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/auth-DqemnCNa.js"],"names":[],"mappings":"","x_google_ignoreList":[0]} |
|||
@ -1,121 +0,0 @@ |
|||
import { defineStore } from 'pinia'; |
|||
|
|||
const IDENTITY_LABELS = { |
|||
1: "超管", |
|||
2: "管理员", |
|||
3: "代理", |
|||
4: "运营" |
|||
}; |
|||
function parseComma(val) { |
|||
if (!val) return []; |
|||
return val.split(",").map((s) => s.trim()).filter(Boolean); |
|||
} |
|||
function saveToStorage(data) { |
|||
} |
|||
const useAuthStore = defineStore("auth", { |
|||
state: () => ({ |
|||
token: "", |
|||
account: "", |
|||
identity: 0, |
|||
access: [], |
|||
apps: [], |
|||
regions: [], |
|||
products: [], |
|||
appbinds: [], |
|||
currentAppId: 0, |
|||
siteTitle: "" |
|||
}), |
|||
getters: { |
|||
isSuperAdmin() { |
|||
return this.identity === 1; |
|||
}, |
|||
isAdmin() { |
|||
return this.identity === 1 || this.identity === 2; |
|||
}, |
|||
identityLabel() { |
|||
return IDENTITY_LABELS[this.identity] ?? ""; |
|||
}, |
|||
isLoggedIn() { |
|||
return !!this.token; |
|||
} |
|||
}, |
|||
actions: { |
|||
setLoginData(data) { |
|||
this.token = data.token; |
|||
this.account = data.account; |
|||
this.identity = data.identity; |
|||
this.access = parseComma(data.access); |
|||
this.apps = parseComma(data.apps); |
|||
this.regions = parseComma(data.regions); |
|||
this.products = parseComma(data.products); |
|||
this.appbinds = data.appbinds ?? []; |
|||
if (this.appbinds.length > 0 && !this.currentAppId) { |
|||
this.currentAppId = this.appbinds[0].id; |
|||
} |
|||
saveToStorage({ |
|||
token: this.token, |
|||
account: this.account, |
|||
identity: this.identity, |
|||
access: this.access, |
|||
apps: this.apps, |
|||
regions: this.regions, |
|||
products: this.products, |
|||
appbinds: this.appbinds, |
|||
currentAppId: this.currentAppId, |
|||
siteTitle: this.siteTitle |
|||
}); |
|||
}, |
|||
setCurrentApp(id) { |
|||
this.currentAppId = id; |
|||
saveToStorage({ |
|||
token: this.token, |
|||
account: this.account, |
|||
identity: this.identity, |
|||
access: this.access, |
|||
apps: this.apps, |
|||
regions: this.regions, |
|||
products: this.products, |
|||
appbinds: this.appbinds, |
|||
currentAppId: this.currentAppId, |
|||
siteTitle: this.siteTitle |
|||
}); |
|||
}, |
|||
setSiteTitle(title) { |
|||
this.siteTitle = title; |
|||
saveToStorage({ |
|||
token: this.token, |
|||
account: this.account, |
|||
identity: this.identity, |
|||
access: this.access, |
|||
apps: this.apps, |
|||
regions: this.regions, |
|||
products: this.products, |
|||
appbinds: this.appbinds, |
|||
currentAppId: this.currentAppId, |
|||
siteTitle: this.siteTitle |
|||
}); |
|||
}, |
|||
logout() { |
|||
this.token = ""; |
|||
this.account = ""; |
|||
this.identity = 0; |
|||
this.access = []; |
|||
this.apps = []; |
|||
this.regions = []; |
|||
this.products = []; |
|||
this.appbinds = []; |
|||
this.currentAppId = 0; |
|||
this.siteTitle = ""; |
|||
}, |
|||
restore() { |
|||
return; |
|||
}, |
|||
hasAccess(pageId) { |
|||
if (this.identity === 1) return true; |
|||
return this.access.includes(pageId); |
|||
} |
|||
} |
|||
}); |
|||
|
|||
export { useAuthStore as u }; |
|||
//# sourceMappingURL=auth-QFkCoU1C.mjs.map
|
|||
@ -1 +0,0 @@ |
|||
{"version":3,"file":"auth-QFkCoU1C.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/auth-QFkCoU1C.js"],"names":[],"mappings":"","x_google_ignoreList":[0]} |
|||
@ -0,0 +1 @@ |
|||
{"version":3,"file":"calltranslate--sRmJf-u.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/calltranslate--sRmJf-u.js"],"names":[],"mappings":"","x_google_ignoreList":[0]} |
|||
@ -1 +0,0 @@ |
|||
{"version":3,"file":"calltranslate-BUGc4owc.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/calltranslate-BUGc4owc.js"],"names":[],"mappings":"","x_google_ignoreList":[0]} |
|||
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@ |
|||
{"version":3,"file":"code-BZlgiQix.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/code-BZlgiQix.js"],"names":[],"mappings":"","x_google_ignoreList":[0]} |
|||
@ -1 +0,0 @@ |
|||
{"version":3,"file":"code-LMhiXPoc.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/code-LMhiXPoc.js"],"names":[],"mappings":"","x_google_ignoreList":[0]} |
|||
@ -1 +0,0 @@ |
|||
{"version":3,"file":"composables-BWlosoMG.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/composables-BWlosoMG.js"],"names":[],"mappings":"","x_google_ignoreList":[0]} |
|||
@ -0,0 +1 @@ |
|||
{"version":3,"file":"composables-CSCzO5x7.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/composables-CSCzO5x7.js"],"names":[],"mappings":"","x_google_ignoreList":[0]} |
|||
@ -0,0 +1 @@ |
|||
{"version":3,"file":"dashboard-CeM8vxnU.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/dashboard-CeM8vxnU.js"],"names":[],"mappings":"","x_google_ignoreList":[0]} |
|||
@ -1 +0,0 @@ |
|||
{"version":3,"file":"dashboard-Dq9mxBpq.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/dashboard-Dq9mxBpq.js"],"names":[],"mappings":"","x_google_ignoreList":[0]} |
|||
@ -1 +0,0 @@ |
|||
{"version":3,"file":"default-B-A39ome.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/default-B-A39ome.js"],"names":["useRoute"],"mappings":"","x_google_ignoreList":[0]} |
|||
@ -0,0 +1 @@ |
|||
{"version":3,"file":"default-MHUXyMZu.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/default-MHUXyMZu.js"],"names":["useRoute"],"mappings":"","x_google_ignoreList":[0]} |
|||
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@ |
|||
{"version":3,"file":"device-B1tPcS6i.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/device-B1tPcS6i.js"],"names":[],"mappings":"","x_google_ignoreList":[0]} |
|||
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@ |
|||
{"version":3,"file":"device-BBb3lo0K.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/device-BBb3lo0K.js"],"names":[],"mappings":"","x_google_ignoreList":[0]} |
|||
@ -1 +0,0 @@ |
|||
{"version":3,"file":"environments-CUNYGKsP.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/environments-CUNYGKsP.js"],"names":[],"mappings":"","x_google_ignoreList":[0]} |
|||
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue