diff --git a/miniprogram/components/journal-detail-panel/index.ts b/miniprogram/components/journal-detail-panel/index.ts index 4ecea9a..ace0bd8 100644 --- a/miniprogram/components/journal-detail-panel/index.ts +++ b/miniprogram/components/journal-detail-panel/index.ts @@ -22,38 +22,23 @@ interface JournalDetailPanelData { Component({ properties: { - // 是否显示 visible: { type: Boolean, value: false }, - // 标题(如 "2024 年 1 月 1 日" 或位置名称) title: { type: String, value: "" }, - // 日记列表 journals: { type: Array, value: [] }, - // 是否显示标题位置图标 - showLocationIcon: { - type: Boolean, - value: false - }, - // 是否显示每条日记的日期 - showJournalDate: { - type: Boolean, - value: true - }, - // 是否显示每条日记的位置 - showJournalLocation: { - type: Boolean, - value: true + mode: { + type: String, + value: "DATE" } }, - data: { currentJournalIndex: 0, }, @@ -72,20 +57,21 @@ Component({ methods: { /** 关闭详情 */ closeDetail() { - this.triggerEvent('close'); + this.triggerEvent("close"); }, - /** swiper 切换事件 */ onSwiperChange(e: WechatMiniprogram.SwiperChange) { this.setData({ currentJournalIndex: e.detail.current }); }, - openLocation(e: WechatMiniprogram.BaseEvent) { const { journalIndex } = e.currentTarget.dataset; + if (!journalIndex && this.properties.mode !== "LOCATION") { + return; + } const journals = this.properties.journals as JournalInfo[]; - const journal = journals[journalIndex]; + const journal = journals[journalIndex || 0]; if (journal.lat && journal.lng) { wx.openLocation({ latitude: journal.lat, diff --git a/miniprogram/components/journal-detail-panel/index.wxml b/miniprogram/components/journal-detail-panel/index.wxml index 7d6d85d..cc5f317 100644 --- a/miniprogram/components/journal-detail-panel/index.wxml +++ b/miniprogram/components/journal-detail-panel/index.wxml @@ -9,8 +9,8 @@ - - + + {{title}} @@ -27,7 +27,7 @@ {{item.location}} - {{item.date}} + {{item.date}} {{item.idea}} diff --git a/miniprogram/pages/main/journal-date/index.wxml b/miniprogram/pages/main/journal-date/index.wxml index fbfcbe7..1af99c1 100644 --- a/miniprogram/pages/main/journal-date/index.wxml +++ b/miniprogram/pages/main/journal-date/index.wxml @@ -13,7 +13,6 @@ visible="{{popupVisible}}" title="{{selectedDate.displayDate}}" journals="{{selectedDate.journals}}" - show-journal-date="{{false}}" - show-journal-location="{{true}}" + mode="DATE" bind:close="closeDetail" /> diff --git a/miniprogram/pages/main/journal-map/index.ts b/miniprogram/pages/main/journal-map/index.ts index 885f924..8a962f0 100644 --- a/miniprogram/pages/main/journal-map/index.ts +++ b/miniprogram/pages/main/journal-map/index.ts @@ -2,7 +2,7 @@ import config from "../../../config/index"; import Time from "../../../utils/Time"; import { Journal, JournalPageType } from "../../../types/Journal"; -import { MediaAttachExt, MediaAttachType } from "../../../types/Attachment"; +import { MediaAttachType } from "../../../types/Attachment"; import Toolkit from "../../../utils/Toolkit"; interface MapMarker { @@ -239,6 +239,8 @@ Page({ id: journal.id, date: Time.toPassedDateTime(journal.createdAt), time: `${String(date.getHours()).padStart(2, '0')}:${String(date.getMinutes()).padStart(2, '0')}`, + lat: journal.lat, + lng: journal.lng, location: journal.location, idea: journal.idea, items: journal.items diff --git a/miniprogram/pages/main/journal-map/index.wxml b/miniprogram/pages/main/journal-map/index.wxml index bfe7c0e..1d08050 100644 --- a/miniprogram/pages/main/journal-map/index.wxml +++ b/miniprogram/pages/main/journal-map/index.wxml @@ -41,8 +41,6 @@ visible="{{showDetail && detailVisible}}" title="{{selectedLocation.location}}" journals="{{selectedLocation.journals}}" - show-location-icon="{{true}}" - show-journal-date="{{true}}" - show-journal-location="{{false}}" + mode="LOCATION" bind:close="closeDetail" /> diff --git a/miniprogram/types/UI.ts b/miniprogram/types/UI.ts index 95ebe2f..b46f29d 100644 --- a/miniprogram/types/UI.ts +++ b/miniprogram/types/UI.ts @@ -62,3 +62,10 @@ export type Location = { /** 描述 */ text?: string; } + +export enum JournalDetailType { + + DATE = "DATE", + + LOCATION = "LOCATION" +} \ No newline at end of file