import { request } from '../../utils/request' import { ClosetShareDetail } from '../../types/models' import { formatDateTime } from '../../utils/format' Page({ data: { uuid: '', detail: null as ClosetShareDetail | null, expireText: '', loading: true, invalid: false, }, onLoad(query: Record) { const uuid = query.uuid || '' this.setData({ uuid }) if (uuid) this.fetchDetail() }, fetchDetail() { request({ url: `/closet-share/${this.data.uuid}`, showError: false }) .then((detail) => { const expireText = detail.expire_time === 0 ? '长期有效' : `有效期至 ${formatDateTime(detail.expire_time)}` this.setData({ detail, expireText, loading: false }) }) .catch((e: any) => { this.setData({ loading: false }) const code = e && e.code if (code === 90100 || code === 90101 || code === 90102) { this.setData({ invalid: true }) } }) }, onCancel() { wx.showModal({ title: '取消分享', content: '取消后该分享链接将失效,且不返还衣柜分享额度', confirmText: '取消分享', confirmColor: '#FF3B30', success: (res) => { if (!res.confirm) return request({ url: `/closet-share/${this.data.uuid}/cancel`, method: 'POST' }) .then(() => { wx.showToast({ title: '已取消', icon: 'success' }) setTimeout(() => wx.navigateBack(), 500) }) .catch(() => {}) }, }) }, onBackHome() { wx.switchTab({ url: '/pages/wardrobe/wardrobe' }) }, })