pool.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. "use strict";
  2. const common_vendor = require("../../common/vendor.js");
  3. const _sfc_main = {
  4. __name: "pool",
  5. setup(__props) {
  6. const isPurchased = common_vendor.ref(false);
  7. const showModal = common_vendor.ref(false);
  8. const selectedPlan = common_vendor.ref("daily");
  9. const selectedDate = common_vendor.ref("2025年11月20日");
  10. const checkPurchaseStatus = () => {
  11. try {
  12. const purchaseInfo = common_vendor.index.getStorageSync("pool_purchase");
  13. if (purchaseInfo) {
  14. const now = Date.now();
  15. const expireTime = purchaseInfo.expireTime;
  16. if (now < expireTime) {
  17. isPurchased.value = true;
  18. } else {
  19. common_vendor.index.removeStorageSync("pool_purchase");
  20. isPurchased.value = false;
  21. }
  22. } else {
  23. isPurchased.value = false;
  24. }
  25. } catch (e) {
  26. console.error("检查购买状态失败:", e);
  27. isPurchased.value = false;
  28. }
  29. };
  30. const showPurchaseModal = () => {
  31. showModal.value = true;
  32. };
  33. const closePurchaseModal = () => {
  34. showModal.value = false;
  35. };
  36. const handlePurchase = () => {
  37. if (!selectedPlan.value) {
  38. common_vendor.index.showToast({
  39. title: "请选择订阅方案",
  40. icon: "none"
  41. });
  42. return;
  43. }
  44. const now = Date.now();
  45. let expireTime = now;
  46. if (selectedPlan.value === "daily") {
  47. const today = /* @__PURE__ */ new Date();
  48. today.setHours(23, 59, 59, 999);
  49. expireTime = today.getTime();
  50. } else if (selectedPlan.value === "weekly") {
  51. expireTime = now + 7 * 24 * 60 * 60 * 1e3;
  52. }
  53. const purchaseInfo = {
  54. plan: selectedPlan.value,
  55. purchaseTime: now,
  56. expireTime
  57. };
  58. common_vendor.index.setStorageSync("pool_purchase", purchaseInfo);
  59. isPurchased.value = true;
  60. closePurchaseModal();
  61. common_vendor.index.showToast({
  62. title: "解锁成功",
  63. icon: "success"
  64. });
  65. };
  66. const onHistorySearch = () => {
  67. common_vendor.index.showToast({
  68. title: "历史查询功能开发中",
  69. icon: "none"
  70. });
  71. };
  72. common_vendor.onLoad(() => {
  73. checkPurchaseStatus();
  74. });
  75. common_vendor.onShow(() => {
  76. checkPurchaseStatus();
  77. });
  78. return (_ctx, _cache) => {
  79. return common_vendor.e({
  80. a: !isPurchased.value
  81. }, !isPurchased.value ? {
  82. b: common_vendor.o(showPurchaseModal)
  83. } : {}, {
  84. c: selectedDate.value,
  85. d: common_vendor.o(($event) => selectedDate.value = $event.detail.value),
  86. e: common_vendor.o(onHistorySearch),
  87. f: showModal.value
  88. }, showModal.value ? {
  89. g: common_vendor.o(closePurchaseModal),
  90. h: selectedPlan.value === "daily" ? 1 : "",
  91. i: common_vendor.o(($event) => selectedPlan.value = "daily"),
  92. j: selectedPlan.value === "weekly" ? 1 : "",
  93. k: common_vendor.o(($event) => selectedPlan.value = "weekly"),
  94. l: common_vendor.o(handlePurchase),
  95. m: common_vendor.o(() => {
  96. }),
  97. n: common_vendor.o(closePurchaseModal)
  98. } : {});
  99. };
  100. }
  101. };
  102. const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__file", "D:/program/miniprogram-1/src/pages/pool/pool.vue"]]);
  103. wx.createPage(MiniProgramPage);