all-trips.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. "use strict";
  2. const common_vendor = require("../../common/vendor.js");
  3. const common_assets = require("../../common/assets.js");
  4. const _sfc_main = {
  5. data() {
  6. return {
  7. savedTrips: [],
  8. defaultImages: [
  9. "/static/baoding.jpg",
  10. "/static/custom_plan_icon.png",
  11. "/static/beijing.jpg",
  12. "/static/chengdu.jpg"
  13. ]
  14. };
  15. },
  16. onLoad() {
  17. this.loadSavedTrips();
  18. },
  19. methods: {
  20. // 加载保存的行程数据
  21. loadSavedTrips() {
  22. try {
  23. const trips = common_vendor.index.getStorageSync("savedTrips") || [];
  24. common_vendor.index.__f__("log", "at pages/planning/all-trips.vue:105", "已加载保存的行程:", trips.length);
  25. this.savedTrips = trips;
  26. } catch (e) {
  27. common_vendor.index.__f__("error", "at pages/planning/all-trips.vue:108", "加载保存的行程失败:", e);
  28. this.savedTrips = [];
  29. }
  30. },
  31. // 获取行程封面图片
  32. getTripCoverImage(trip) {
  33. if (trip.spots && trip.spots.length > 0 && trip.spots[0].coverImage) {
  34. return trip.spots[0].coverImage;
  35. }
  36. if (trip.name.includes("保定")) {
  37. return "/static/baoding.jpg";
  38. } else if (trip.name.includes("西安")) {
  39. return "/static/xian.jpg";
  40. } else if (trip.name.includes("北京")) {
  41. return "/static/beijing.jpg";
  42. } else if (trip.name.includes("上海")) {
  43. return "/static/shanghai.jpg";
  44. }
  45. const hash = trip.id.split("_")[1] || Date.now();
  46. const index = hash % this.defaultImages.length;
  47. return this.defaultImages[index];
  48. },
  49. // 格式化日期显示
  50. formatDate(dateString) {
  51. if (!dateString)
  52. return "";
  53. const date = new Date(dateString);
  54. return `${date.getFullYear()}.${date.getMonth() + 1}.${date.getDate()}`;
  55. },
  56. // 查看行程详情
  57. viewTripDetail(id) {
  58. common_vendor.index.navigateTo({
  59. url: `/pages/travel-detail/index?planId=${id}`,
  60. fail: (err) => {
  61. common_vendor.index.__f__("error", "at pages/planning/all-trips.vue:150", "跳转到行程详情页失败:", err);
  62. }
  63. });
  64. },
  65. // 返回上一页
  66. goBack() {
  67. common_vendor.index.navigateBack();
  68. }
  69. }
  70. };
  71. function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
  72. return common_vendor.e({
  73. a: common_vendor.o((...args) => $options.goBack && $options.goBack(...args)),
  74. b: common_vendor.f($data.savedTrips, (trip, index, i0) => {
  75. return common_vendor.e({
  76. a: $options.getTripCoverImage(trip),
  77. b: common_vendor.t(trip.name),
  78. c: trip.startDate
  79. }, trip.startDate ? {
  80. d: common_vendor.t($options.formatDate(trip.startDate))
  81. } : {}, {
  82. e: common_vendor.t(trip.peopleCount || 1),
  83. f: common_vendor.t(trip.days),
  84. g: common_vendor.t(trip.days - 1),
  85. h: trip.budget
  86. }, trip.budget ? {
  87. i: common_vendor.t(trip.budget)
  88. } : {}, {
  89. j: trip.id,
  90. k: common_vendor.o(($event) => $options.viewTripDetail(trip.id), trip.id)
  91. });
  92. }),
  93. c: common_assets._imports_0$2,
  94. d: common_assets._imports_1$2,
  95. e: common_assets._imports_2$1,
  96. f: $data.savedTrips.length === 0
  97. }, $data.savedTrips.length === 0 ? {} : {});
  98. }
  99. const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
  100. wx.createPage(MiniProgramPage);
  101. //# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/planning/all-trips.js.map