2 lines
6.6 KiB
JavaScript
2 lines
6.6 KiB
JavaScript
|
|
import{r as f,c as h,h as W,y as u,A as e,K as C,Q as o,I as n,al as m,O as i,P as A,a6 as B,aA as X,z as r,M as p,u as v,D,H as T}from"./vendor-C3mpOp0n.js";import{_ as Y,u as Z,a as y}from"./index-BlP3rxMf.js";import{C as ss,k as N,D as V,u as x,J as E,n as es,d as ts,G as as,H as os,F as I,A as ns,r as is,a as c}from"./elementPlus-DFx51bSH.js";const ls={class:"task-center"},rs={class:"navbar"},cs={class:"nav-left"},ds={class:"nav-right"},us={class:"task-stats"},ps={class:"stats-card"},_s={class:"stat-item"},vs={class:"stat-icon"},fs={class:"stat-info"},gs={class:"stat-value"},hs={class:"stat-item"},ms={class:"stat-icon"},ys={class:"stat-info"},ks={class:"stat-value"},ws={class:"stat-item"},bs={class:"stat-icon"},Cs={class:"stat-info"},Ts={class:"stat-value"},xs={class:"task-categories"},$s={class:"category-tabs"},zs=["onClick"],Ms={class:"task-list"},As={class:"task-icon"},Bs={class:"task-content"},Ds={class:"task-title"},Ns={class:"task-desc"},Vs={key:0,class:"task-progress"},Es={class:"progress-text"},Is={class:"task-reward"},Ps={class:"reward-points"},Rs={key:0,class:"empty-state"},Fs={__name:"TaskCenter",setup(Hs){const g=X();Z();const k=f(0),w=f("daily"),d=f([]),$=f(!1),P=f([{key:"daily",name:"每日任务",icon:ss},{key:"shopping",name:"购物任务",icon:N},{key:"social",name:"社交任务",icon:V},{key:"profile",name:"完善资料",icon:x},{key:"special",name:"特殊任务",icon:E}]),z=h(()=>d.value.filter(s=>s.category===w.value)),R=h(()=>d.value.filter(s=>s.status==="claimed").length),F=h(()=>d.value.filter(s=>s.status==="pending"||s.status==="completed").length),H=h(()=>d.value.filter(s=>s.status==="claimed").reduce((s,t)=>s+t.points,0)),S=s=>({purchase:N,share:V,profile:x,transfer:is,invite:x,review:I})[s]||E,U=s=>({purchase:"去购买",share:"去分享",profile:"去完善",transfer:"去转账",invite:"去邀请",review:"去评价"})[s.type]||"去完成",G=async s=>{s.loading=!0;try{switch(s.type){case"purchase":g.push("/shop");break;case"share":await J();break;case"profile":g.push("/profile");break;case"transfer":g.push("/transfers");break;case"invite":await K();break;case"review":g.push("/orders");break;default:await b(s.id);break}}catch{c.error("操作失败,请重试")}finally{s.loading=!1}},J=async()=>{if(navigator.share)try{await navigator.share({title:"融互通 - 资金互助平台",text:"发现一个很棒的资金互助平台,快来看看吧!",url:window.location.origin}),await b("share_app"),c.success("分享成功!")}catch(s){s.name!=="AbortError"&&c.error("分享失败")}else try{await navigator.clipboard.writeText(window.location.origin),await b("share_app"),c.success("链接已复制到剪贴板!")}catch{c.error("复制失败")}},K=async()=>{c.info("邀请功能开发中...")},b=async s=>{try{const t=await y.post(`/tasks/${s}/complete`),l=d.value.find(_=>_.id===s);l&&(l.status="completed"),c.success("任务完成!")}catch{c.error("任务完成失败")}},L=async s=>{s.loading=!0;try{const t=await y.post(`/tasks/${s.id}/claim`);s.status="claimed",k.value+=s.points,c.success(`获得 ${s.points} 积分!`)}catch{c.error("领取失败,请重试")}finally{s.loading=!1}},O=async()=>{$.value=!0;try{const s=await y.get("/tasks");d.value=s.data.map(t=>({...t,loading:!1}))}catch{d.value=[{id:"first_purchase",category:"shopping",type:"purchase",title:"首次购买",description:"在积分商城完成首次购买",points:50,status:"pending",loading:!1},{id:"share_app",category:"social",type:"share",title:"分享应用",description:"分享应用给朋友",points:20,status:"pending",loading:!1},{id:"complete_profile",category:"profile",type:"profile",title:"完善个人资料",description:"完善头像、姓名等个人信息",points:30,status:"pending",progress:2,target:5,loading:!1},{id:"first_transfer",category:"special",type:"transfer",title:"首次转账",description:"完成首次转账操作",points:100,status:"completed",loading:!1}]}finally{$.value=!1}},Q=async()=>{try{const s=await y.get("/user/points");k.value=s.data.points}catch(s){console.error("获取用户积分失败:",s)}};re
|