Files
AIGC/demo/deploy_baota/frontend/static/AdminDashboard-9d798574.js

2 lines
8.4 KiB
JavaScript
Raw Normal View History

2025-11-13 17:01:39 +08:00
import{_ as G}from"./welcome-6f9b345d.js";import{aA as Y,r as _,m as J,n as D,U as K,al as R,ar as q,z as T,A as E,B as s,R as t,J as l,u as r,aD as H,K as Q,P as v,D as k}from"./vue-vendor-164775a6.js";import{E as I,g as W,u as y,s as X,d as N,b as Z,e as ss,f as es,m as ts}from"./element-plus-4a19e5e8.js";import{g as as,d as os,b as ns}from"./dashboard-93bacc4e.js";import{_ as ls}from"./index-2fb4354b.js";import"./utils-edfcd65b.js";const is={class:"admin-dashboard"},rs={class:"sidebar"},ds={class:"nav-menu"},cs={class:"nav-item active"},us={class:"main-content"},vs={class:"top-header"},ps={class:"search-bar"},ms={class:"header-actions"},hs={class:"notification-icon-wrapper"},_s={class:"user-avatar"},gs={class:"stats-cards"},fs={class:"stat-card"},ys={class:"stat-icon users"},bs={class:"stat-content"},Cs={class:"stat-number"},ws={class:"stat-card"},xs={class:"stat-icon paid-users"},Us={class:"stat-content"},As={class:"stat-number"},Ds={class:"stat-card"},Rs={class:"stat-icon revenue"},ks={class:"stat-content"},Ls={class:"stat-number"},Ss={class:"charts-section"},Vs={class:"chart-card"},zs={class:"chart-header"},Ts={class:"chart-content"},Es={class:"chart-card"},Is={class:"chart-header"},Ns={class:"chart-content"},Os={__name:"AdminDashboard",setup(Ps){const g=Y(),b=_("2025"),C=_("2025"),n=_({totalUsers:0,paidUsers:0,todayRevenue:0,totalUsersChange:0,paidUsersChange:0,todayRevenueChange:0}),w=_(!1),x=_(null),U=_(null);let c=null,u=null;const L=()=>new Promise((a,e)=>{if(window.echarts){a(window.echarts);return}const o=document.createElement("script");o.src="https://cdn.jsdelivr.net/npm/echarts@5.4.3/dist/echarts.min.js",o.onload=()=>a(window.echarts),o.onerror=e,document.head.appendChild(o)}),O=()=>{g.push("/member-management")},P=()=>{g.push("/admin/orders")},$=()=>{g.push("/api-management")},B=()=>{g.push("/generate-task-record")},F=()=>{g.push("/system-settings")},S=a=>a>=1e4?(a/1e4).toFixed(1)+"万":a.toLocaleString("zh-CN"),M=a=>a>=1e4?"¥"+(a/1e4).toFixed(1)+"万":"¥"+a.toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2}),j=async()=>{w.value=!0;try{const a=await as();console.log("仪表盘概览数据响应:",a);const e=(a==null?void 0:a.data)||a||{};console.log("解析后的数据:",e),e&&!e.error?(n.value={totalUsers:e.totalUsers||0,paidUsers:e.paidUsers||0,todayRevenue:e.todayRevenue||0,totalUsersChange:0,paidUsersChange:0,todayRevenueChange:0},console.log("设置后的统计数据:",n.value)):(console.error("获取仪表盘数据失败:",e.error||e.message),I.error("获取仪表盘数据失败: "+(e.message||"未知错误")))}catch(a){console.error("加载仪表盘数据失败:",a),I.error("加载仪表盘数据失败: "+(a.message||"未知错误"))}finally{w.value=!1}},V=async()=>{try{const e=(await os(b.value,"monthly")).data||{};if(!x.value)return;const o=await L();await D(),c&&c.dispose(),c=o.init(x.value);const i=e.monthlyData||[],m=i.map(d=>`${d.month}`),f=i.map(d=>d.avgDailyActive||d.dailyActiveUsers||0),p={tooltip:{trigger:"axis",axisPointer:{type:"cross"}},grid:{left:"3%",right:"4%",bottom:"3%",containLabel:!0},xAxis:{type:"category",boundaryGap:!1,data:m,axisLabel:{color:"#6b7280"}},yAxis:{type:"value",axisLabel:{color:"#6b7280",formatter:"{value}"}},series:[{name:"日活用户",type:"line",smooth:!0,data:f,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)"}]}}}]};c.setOption(p),window.addEventListener("resize",()=>{c&&c.resize()})}catch(a){console.error("加载日活用户趋势图失败:",a)}},z=async()=>{try{const e=(await ns(C.value)).data||{};if(!U.value)return;const o=await L();await D(),u&&u.dispose(),u=o.init(U.value);const i=e.monthlyData||[],m=i.map(d=>`${d.month}`),f=i.map(d=>d.conversionRate||0),p={tooltip:{trigger:"axis",axisPointer:{type:"shadow"},formatter:d=>{const A=d[0],h=i[A.dataIndex];return`${A.name}<br/>转化率: ${A.value}%<br/>总用户: ${(h==null?void 0:h.totalUsers)||0}<br/>付费用户: ${(h==null?void 0:h.paidUsers)||0}`}