Files
AIGC/demo/deploy_baota/frontend/static/AdminDashboard-98f29ec9.js

2 lines
9.3 KiB
JavaScript
Raw Normal View History

import{_ as W}from"./logo-admin-5be797ff.js";import{_ as X}from"./avatar-default-20a1956c.js";import{aA as Z,r as _,m as ee,n as S,U as se,al as g,ar as ae,z as O,A as P,B as e,R as a,J as l,u as d,P as t,O as T,K as te,D as M}from"./vue-vendor-164775a6.js";import{E as I,g as oe,u as C,s as ne,f as B,h as le,k as re,n as ie}from"./element-plus-83a396df.js";import{e as x,_ as de,L as ce}from"./index-467ea2ad.js";import"./utils-edfcd65b.js";const ue=()=>x.get("/dashboard/overview"),he=(y=null)=>{const c=y?{year:y}:{};return x.get("/dashboard/conversion-rate",{params:c})},ve=(y="2024",c="monthly")=>x.get("/analytics/daily-active-users",{params:{year:y,granularity:c}});const me={class:"admin-dashboard"},pe={class:"sidebar"},_e={class:"nav-menu"},ge={class:"nav-item active"},ye={class:"sidebar-footer"},fe={class:"online-users"},be={class:"highlight"},we={class:"system-uptime"},Ce={class:"highlight"},Ue={class:"main-content"},$e={class:"top-header"},Ae={class:"search-bar"},De=["placeholder"],Le={class:"header-actions"},Re={class:"user-avatar"},ke={class:"stats-cards"},Se={class:"stat-card"},Te={class:"stat-icon users"},Me={class:"stat-content"},xe={class:"stat-title"},Ve={class:"stat-number"},ze={class:"stat-card"},Ee={class:"stat-icon paid-users"},Ne={class:"stat-content"},Oe={class:"stat-title"},Pe={class:"stat-number"},Ie={class:"stat-card"},Be={class:"stat-icon revenue"},Fe={class:"stat-content"},je={class:"stat-title"},Ye={class:"stat-number"},Ge={class:"charts-section"},He={class:"chart-card"},Je={class:"chart-header"},Ke={class:"chart-content"},qe={class:"chart-card"},Qe={class:"chart-header"},We={class:"chart-content"},Xe={__name:"AdminDashboard",setup(y){const c=Z(),U=_("2025"),$=_("2025"),r=_({totalUsers:0,paidUsers:0,todayRevenue:0,totalUsersChange:0,paidUsersChange:0,todayRevenueChange:0}),A=_(!1),D=_("0/500"),L=_("加载中..."),R=_(null),k=_(null);let v=null,m=null;const V=()=>new Promise((s,o)=>{if(window.echarts){s(window.echarts);return}const n=document.createElement("script");n.src="https://cdn.jsdelivr.net/npm/echarts@5.4.3/dist/echarts.min.js",n.onload=()=>s(window.echarts),n.onerror=o,document.head.appendChild(n)}),F=()=>{c.push("/member-management")},j=()=>{c.push("/admin/orders")},Y=()=>{c.push("/api-management")},G=()=>{c.push("/generate-task-record")},H=()=>{c.push("/system-settings")},J=s=>{s==="exitAdmin"&&c.push("/profile")},z=s=>s>=1e4?(s/1e4).toFixed(1)+"万":s.toLocaleString("zh-CN"),K=s=>s>=1e4?"¥"+(s/1e4).toFixed(1)+"万":"¥"+s.toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2}),q=async()=>{A.value=!0;try{const s=await ue();console.log("仪表盘概览数据响应:",s);const o=(s==null?void 0:s.data)||s||{};console.log("解析后的数据:",o),o&&!o.error?(r.value={totalUsers:o.totalUsers||0,paidUsers:o.paidUsers||0,todayRevenue:o.todayRevenue||0,totalUsersChange:0,paidUsersChange:0,todayRevenueChange:0},console.log("设置后的统计数据:",r.value)):(console.error("获取仪表盘数据失败:",o.error||o.message),I.error("获取仪表盘数据失败: "+(o.message||"未知错误")))}catch(s){console.error("加载仪表盘数据失败:",s),I.error("加载仪表盘数据失败: "+(s.message||"未知错误"))}finally{A.value=!1}},E=async()=>{try{const o=(await ve(U.value,"monthly")).data||{};if(!R.value)return;const n=await V();await S(),v&&v.dispose(),v=n.init(R.value);const p=o.monthlyData||[],f=p.map(i=>`${i.month}`),b=p.map(i=>i.avgDailyActive||i.dailyActiveUsers||0),u={tooltip:{trigger:"axis",axisPointer:{type:"cross"}},grid:{left:"3%",right:"4%",bottom:"3%",containLabel:!0},xAxis:{type:"category",boundaryGap:!1,data:f,axisLabel:{color:"#6b7280"}},yAxis:{type:"value",axisLabel:{color:"#6b7280",formatter:"{value}"}},series:[{name:"日活用户",type:"line",smooth:!0,data:b,itemStyle:{color:"#3b82f6"},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(59, 130, 246, 0.3)"},{offset:1,color:"rgba(59, 130, 246, 0.1)"}]}}}]};v.setOption(u),window.addEventListener("resize",()=>{v&&v.resize()})}catch(s){console.error("加载日活用户<EFBFBD>