Files
medical-mall/unpackage/cache/.app-android/sourcemap/pages/mall/consumer/message-detail.kt.map

1 line
9.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"version":3,"sources":["pages/mall/consumer/message-detail.uvue","pages/user/login.uvue","pages/mall/consumer/order-detail.uvue","uni_modules/ak-req/ak-req.uts"],"sourcesContent":["<template>\n <scroll-view class=\"message-detail-page\" scroll-y>\n <view class=\"message-header\">\n <text class=\"message-title\">{{ message.title }}</text>\n <text class=\"message-time\">{{ formatTime(message.created_at) }}</text>\n </view>\n\n <view class=\"message-content\">\n <text class=\"content-text\">{{ message.content }}</text>\n </view>\n\n <view v-if=\"message.link_url\" class=\"message-action\" @click=\"goToLink\">\n <text class=\"action-text\">查看详情</text>\n <text class=\"action-arrow\"></text>\n </view>\n\n <view v-if=\"message.icon_url\" class=\"message-image\">\n <image :src=\"message.icon_url\" mode=\"widthFix\" class=\"icon-image\" />\n </view>\n\n <view v-if=\"extraInfo.length > 0\" class=\"extra-info\">\n <view v-for=\"(item, index) in extraInfo\" :key=\"index\" class=\"extra-item\">\n <text class=\"extra-label\">{{ item.label }}</text>\n <text class=\"extra-value\">{{ item.value }}</text>\n </view>\n </view>\n </scroll-view>\n</template>\n\n<script setup lang=\"uts\">\nimport { ref, onMounted } from 'vue'\nimport { supabaseService } from '@/utils/supabaseService.uts'\n\ntype MessageType = {\n id: string\n type: string\n title: string\n content: string\n icon_url: string | null\n link_url: string | null\n extra_data: any | null\n created_at: string\n}\n\ntype ExtraInfoItem = {\n label: string\n value: string\n}\n\nconst message = ref<MessageType>({\n id: '',\n type: '',\n title: '',\n content: '',\n icon_url: null,\n link_url: null,\n extra_data: null,\n created_at: ''\n})\n\nconst extraInfo = ref<ExtraInfoItem[]>([])\n\nconst loadMessage = async (id: string) => {\n try {\n const notifications = await supabaseService.getUserNotifications(null)\n const found = notifications.find(n => n.id === id)\n \n if (found != null) {\n message.value = {\n id: found.id,\n type: found.type,\n title: found.title,\n content: found.content,\n icon_url: found.icon_url,\n link_url: found.link_url,\n extra_data: found.extra_data,\n created_at: found.created_at\n }\n\n // 解析extra_data\n if (found.extra_data != null) {\n parseExtraData(found.extra_data)\n }\n }\n } catch (e) {\n console.error('加载消息失败:', e)\n }\n}\n\nconst parseExtraData = (data: any) => {\n extraInfo.value = []\n \n if (data == null) return\n \n try {\n let dataObj: any = data\n if (typeof data === 'string') {\n dataObj = JSON.parse(data)\n }\n \n if (typeof dataObj === 'object') {\n const keys = Object.keys(dataObj)\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n const value = dataObj[key]\n if (value != null) {\n extraInfo.value.push({\n label: formatLabel(key),\n value: String(value)\n })\n }\n }\n }\n } catch (e) {\n console.error('解析extra_data失败:', e)\n }\n}\n\nconst formatLabel = (key: string): string => {\n const labelMap: Record<string, string> = {\n 'share_code': '分享码',\n 'product_name': '商品名称',\n 'reward_amount': '奖励金额',\n 'order_no': '订单号',\n 'buyer_name': '购买者',\n 'quantity': '数量'\n }\n return labelMap[key] ?? key\n}\n\nconst formatTime = (timeStr: string): string => {\n if (timeStr == null || timeStr === '') return ''\n const date = new Date(timeStr)\n const y = date.getFullYear()\n const m = (date.getMonth() + 1).toString().padStart(2, '0')\n const d = date.getDate().toString().padStart(2, '0')\n const hh = date.getHours().toString().padStart(2, '0')\n const mm = date.getMinutes().toString().padStart(2, '0')\n return `${y}-${m}-${d} ${hh}:${mm}`\n}\n\nconst goToLink = () => {\n const url = message.value.link_url\n if (url != null && url !== '') {\n if (url.startsWith('/pages/')) {\n uni.navigateTo({ url: url })\n } else {\n uni.setClipboardData({\n data: url,\n success: () => {\n uni.showToast({ title: '链接已复制', icon: 'success' })\n }\n })\n }\n }\n}\n\nonMounted(() => {\n const pages = getCurrentPages()\n if (pages.length > 0) {\n const currentPage = pages[pages.length - 1]\n const options = (currentPage as any).options\n if (options != null && options.id != null) {\n loadMessage(options.id as string)\n }\n }\n})\n</script>\n\n<style>\n.message-detail-page {\n flex: 1;\n height: 100%;\n background-color: #f5f5f5;\n}\n\n.message-header {\n background-color: white;\n padding: 20px 16px;\n margin-bottom: 8px;\n}\n\n.message-title {\n font-size: 18px;\n font-weight: bold;\n color: #333;\n display: flex;\n margin-bottom: 10px;\n}\n\n.message-time {\n font-size: 13px;\n color: #999;\n}\n\n.message-content {\n background-color: white;\n padding: 16px;\n margin-bottom: 8px;\n}\n\n.content-text {\n font-size: 15px;\n color: #333;\n line-height: 1.8;\n}\n\n.message-action {\n background-color: white;\n padding: 16px;\n margin-bottom: 8px;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n}\n\n.action-text {\n font-size: 15px;\n color: #ff6b35;\n}\n\n.action-arrow {\n font-size: 18px;\n color: #ccc;\n}\n\n.message-image {\n background-color: white;\n padding: 16px;\n margin-bottom: 8px;\n}\n\n.icon-image {\n width: 100%;\n border-radius: 8px;\n}\n\n.extra-info {\n background-color: white;\n padding: 16px;\n}\n\n.extra-item {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n padding: 10px 0;\n border-bottom: 1px solid #f5f5f5;\n}\n\n.extra-item:last-child {\n border-bottom: none;\n}\n\n.extra-label {\n font-size: 14px;\n color: #666;\n}\n\n.extra-value {\n font-size: 14px;\n color: #333;\n}\n</style>\n",null,null,null],"names":[],"mappings":"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"}