pool.js 3.9 KB

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