"use strict"; const common_vendor = require("../../common/vendor.js"); const utils_api = require("../../utils/api.js"); const _sfc_main = { __name: "rank", setup(__props) { const portfolio = common_vendor.ref({ balance: 1e5, profit: 0, profitRate: 0 }); const myRank = common_vendor.ref({ rank: 5, rate: 0 }); const leaderboard = common_vendor.ref([ { rank: 1, name: "量化王者 608", rate: 35.2 }, { rank: 2, name: "短线猎手 012", rate: 28.9 }, { rank: 3, name: "趋势追踪者", rate: 22.1 } ]); const formatAmount = (amount) => { return amount.toLocaleString("zh-CN"); }; const formatProfit = (profit) => { return Math.abs(profit).toLocaleString("zh-CN"); }; const formatRate = (rate) => { return rate.toFixed(2); }; const getRankClass = (rank) => { if (rank === 1) return "rank-first"; if (rank === 2) return "rank-second"; if (rank === 3) return "rank-third"; return ""; }; const loadData = async () => { try { const portfolioRes = await utils_api.getUserPortfolio(); if (portfolioRes.code === 0 && portfolioRes.data) { portfolio.value = portfolioRes.data; } } catch (err) { console.error("获取资产数据失败:", err); } try { const leaderboardRes = await utils_api.getLeaderboard(); if (leaderboardRes.code === 0 && leaderboardRes.data) { leaderboard.value = leaderboardRes.data.list || []; myRank.value = leaderboardRes.data.myRank || { rank: 5, rate: 0 }; } } catch (err) { console.error("获取排行榜数据失败:", err); } }; common_vendor.onMounted(() => { loadData(); }); return (_ctx, _cache) => { return { a: common_vendor.t(formatAmount(portfolio.value.balance)), b: common_vendor.t(formatProfit(portfolio.value.profit)), c: common_vendor.t(formatRate(portfolio.value.profitRate)), d: common_vendor.n(portfolio.value.profitRate >= 0 ? "profit-positive" : "profit-negative"), e: common_vendor.t(myRank.value.rank), f: common_vendor.t(myRank.value.rate >= 0 ? "+" : ""), g: common_vendor.t(myRank.value.rate), h: common_vendor.n(myRank.value.rate >= 0 ? "rate-positive" : "rate-negative"), i: common_vendor.f(leaderboard.value, (item, index, i0) => { return { a: common_vendor.t(item.rank), b: common_vendor.n(getRankClass(item.rank)), c: common_vendor.t(item.name), d: common_vendor.t(item.rate >= 0 ? "+" : ""), e: common_vendor.t(item.rate), f: common_vendor.n(item.rate >= 0 ? "rate-positive" : "rate-negative"), g: index }; }) }; }; } }; const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__file", "D:/program/miniprogram-1/src/pages/rank/rank.vue"]]); wx.createPage(MiniProgramPage);