"use strict"; const common_vendor = require("../../../common/vendor.js"); const api_appUser = require("../../../api/appUser.js"); const _sfc_main = { __name: "index", setup(__props) { const detail = common_vendor.ref({}); const statusText = common_vendor.ref(""); const issues = common_vendor.ref([]); const rewardsMap = common_vendor.ref({}); function statusToText(s) { if (s === 1) return "进行中"; if (s === 0) return "未开始"; if (s === 2) return "已结束"; return String(s || ""); } async function fetchDetail(id) { const data = await api_appUser.getActivityDetail(id); detail.value = data || {}; statusText.value = statusToText(detail.value.status); } function unwrap(list) { if (Array.isArray(list)) return list; const obj = list || {}; const data = obj.data || {}; const arr = obj.list || obj.items || data.list || data.items || data; return Array.isArray(arr) ? arr : []; } function normalizeIssues(list) { const arr = unwrap(list); return arr.map((i, idx) => ({ id: i.id ?? String(idx), title: i.title ?? i.name ?? "", no: i.no ?? i.index ?? i.issue_no ?? i.issue_number ?? null, status_text: i.status_text ?? (i.status === 1 ? "进行中" : i.status === 0 ? "未开始" : i.status === 2 ? "已结束" : "") })); } function normalizeRewards(list) { const arr = unwrap(list); return arr.map((i, idx) => ({ id: i.id ?? String(idx), title: i.title ?? i.name ?? "", image: i.image ?? i.img ?? i.pic ?? i.banner ?? "", odds: i.odds ?? i.rate ?? i.probability ?? i.prob ?? "", rarity: i.rarity ?? i.rarity_name ?? "" })); } async function fetchRewardsForIssues(activityId) { const list = issues.value || []; const promises = list.map((it) => api_appUser.getActivityIssueRewards(activityId, it.id)); const results = await Promise.allSettled(promises); results.forEach((res, i) => { const issueId = list[i] && list[i].id; if (!issueId) return; const value = res.status === "fulfilled" ? normalizeRewards(res.value) : []; rewardsMap.value = { ...rewardsMap.value || {}, [issueId]: value }; }); } async function fetchIssues(id) { const data = await api_appUser.getActivityIssues(id); issues.value = normalizeIssues(data); await fetchRewardsForIssues(id); } function onPreviewBanner() { const url = detail.value.banner || ""; if (url) common_vendor.index.previewImage({ urls: [url], current: url }); } function onParticipate() { common_vendor.index.showToast({ title: "功能待接入", icon: "none" }); } common_vendor.onLoad((opts) => { const id = opts && opts.id || ""; if (id) { fetchDetail(id); fetchIssues(id); } }); return (_ctx, _cache) => { return common_vendor.e({ a: detail.value.banner }, detail.value.banner ? { b: detail.value.banner } : {}, { c: common_vendor.t(detail.value.name || detail.value.title || "-"), d: common_vendor.t(detail.value.category_name || "无限赏"), e: detail.value.price_draw !== void 0 }, detail.value.price_draw !== void 0 ? { f: common_vendor.t(detail.value.price_draw) } : {}, { g: detail.value.status !== void 0 }, detail.value.status !== void 0 ? { h: common_vendor.t(statusText.value) } : {}, { i: common_vendor.o(onPreviewBanner), j: common_vendor.o(onParticipate), k: issues.value.length }, issues.value.length ? { l: common_vendor.f(issues.value, (it, k0, i0) => { return common_vendor.e({ a: common_vendor.t(it.title || "第" + (it.no || it.index || it.issue_no || "-") + "期"), b: it.status_text }, it.status_text ? { c: common_vendor.t(it.status_text) } : {}, { d: rewardsMap.value[it.id] && rewardsMap.value[it.id].length }, rewardsMap.value[it.id] && rewardsMap.value[it.id].length ? { e: common_vendor.f(rewardsMap.value[it.id], (rw, k1, i1) => { return common_vendor.e({ a: rw.image }, rw.image ? { b: rw.image } : {}, { c: common_vendor.t(rw.title), d: rw.rarity || rw.odds }, rw.rarity || rw.odds ? { e: common_vendor.t([rw.rarity, rw.odds].filter(Boolean).join(" · ")) } : {}, { f: rw.id }); }) } : {}, { f: it.id }); }) } : {}); }; } }; const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-b5fdbf1f"]]); wx.createPage(MiniProgramPage); //# sourceMappingURL=../../../../.sourcemap/mp-weixin/pages/activity/wuxianshang/index.js.map