const app = getApp() Page({ data: { entry: null, loading: false, error: '', }, onLoad(options) { this.entryId = options.id this.loadEntry() }, loadEntry() { if (!app.globalData.authToken) { this.setData({ error: '????' }) return } if (!this.entryId) { this.setData({ error: '????ID' }) return } this.setData({ loading: true, error: '' }) wx.request({ url: `${app.globalData.baseUrl}/api/v1/entries/${this.entryId}`, header: { 'X-Auth-Token': app.globalData.authToken }, success: (res) => { const entry = res.data?.data || null this.setData({ entry, error: entry ? '' : '?????' }) }, fail: () => this.setData({ error: '??????' }), complete: () => this.setData({ loading: false }), }) }, editEntry() { if (!this.data.entry?.id) return wx.navigateTo({ url: `/pages/manage/entry-edit/entry-edit?id=${this.data.entry.id}` }) }, deleteEntry() { if (!this.data.entry?.id) return wx.showModal({ title: '????', content: '?????????????', success: (res) => { if (!res.confirm) return wx.request({ url: `${app.globalData.baseUrl}/api/v1/entries/${this.data.entry.id}`, method: 'DELETE', header: { 'X-Auth-Token': app.globalData.authToken }, success: () => { wx.showToast({ title: '???', icon: 'success' }) const pages = getCurrentPages() const prevPage = pages[pages.length - 2] if (prevPage && typeof prevPage.loadList === 'function') { prevPage.loadList() } wx.navigateBack({ delta: 1 }) }, }) }, }) }, goBack() { const pages = getCurrentPages() const prevPage = pages[pages.length - 2] if (prevPage && typeof prevPage.loadList === 'function') { prevPage.loadList() } wx.navigateBack() }, })