wangzhibo
2025-10-23 cad64c1de2c45856b0774933c5801b05b64984e8
1
{"version":3,"file":"index.js","sources":["pages/index/index.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaW5kZXgvaW5kZXgudnVl"],"sourcesContent":["<template>\r\n\t<div class=\"flex flex-col min-h-screen bg-white\">\r\n\r\n\t\t<view class=\"mt-2\"></view>\r\n\r\n\t\t<!-- 上部:宣传视频 -->\r\n\t\t<!--\r\n\t\t<section class=\"bg-black flex justify-center items-center\">\r\n\t\t\t<img v-show=\"!isVideoPlaying\" class=\"w-full max-w-1200px aspect-video object-cover cursor-pointer\" \r\n\t\t\t             :src=\"ASSETS.video.promoImg\" \r\n\t\t\t             alt=\"Video Cover\" \r\n\t\t\t             @click=\"playVideo\" />\r\n\t\t\t<video v-show=\"isVideoPlaying\" class=\"w-full max-w-1200px aspect-video object-cover\" :src=\"ASSETS.video.promo\" autoplay loop playsinline\r\n\t\t\t\tcontrols></video>\r\n\t\t</section>\r\n\t\t-->\r\n\t\t<section class=\"bg-black flex justify-center items-center\">\r\n\t\t\t<div class=\"relative w-full max-w-1200px aspect-video\">\r\n\t\t\t\t<!-- 封面图,点击后隐藏 -->\r\n\t\t\t\t<img v-if=\"!isVideoPlaying\" class=\"w-full h-full object-cover cursor-pointer\"\r\n\t\t\t\t\t:src=\"ASSETS.video.promoImg\" alt=\"Video Cover\" @click=\"playVideo\" />\r\n\r\n\t\t\t\t<!-- 视频 -->\r\n\t\t\t\t<video v-if=\"isVideoPlaying\" class=\"w-full h-full object-cover\" :src=\"ASSETS.video.promo\" autoplay loop\r\n\t\t\t\t\tplaysinline controls></video>\r\n\t\t\t</div>\r\n\t\t</section>\r\n\r\n\t\t<!-- 中部:功能区 -->\r\n\t\t<section class=\"p-4 mt-2 bg-white\">\r\n\t\t\t<div class=\"flex flex-wrap justify-between p-4\">\r\n\t\t\t\t<!-- 单个功能按钮 -->\r\n\t\t\t\t<div class=\"flex flex-col items-center w-1-5\" @click=\"goToGuide\">\r\n\t\t\t\t\t<div class=\"flex items-center justify-center w-12 h-12 rounded-full mb-2\">\r\n\t\t\t\t\t\t<img :src=\"`https://farm.evcc.top/Uploads/yuanboyuan/index/01.png`\" mode=\"aspectFill\" alt=\"icon\"\r\n\t\t\t\t\t\t\tclass=\"w-24 h-16\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<span class=\"text-xs text-center\">景点导览</span>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div class=\"flex flex-col items-center w-1-5\" @click=\"goTo('hotels')\">\r\n\t\t\t\t\t<div class=\"flex items-center justify-center w-12 h-12 rounded-full mb-2\">\r\n\t\t\t\t\t\t<img :src=\"`https://farm.evcc.top/Uploads/yuanboyuan/index/02.png`\" mode=\"aspectFill\" alt=\"icon\"\r\n\t\t\t\t\t\t\tclass=\"w-24 h-16\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<span class=\"text-xs text-center\">酒店介绍</span>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div class=\"flex flex-col items-center w-1-5\" @click=\"goTo('foods')\">\r\n\t\t\t\t\t<div class=\"flex items-center justify-center w-12 h-12 rounded-full mb-2\">\r\n\t\t\t\t\t\t<img :src=\"`https://farm.evcc.top/Uploads/yuanboyuan/index/03.png`\" mode=\"aspectFill\" alt=\"icon\"\r\n\t\t\t\t\t\t\tclass=\"w-24 h-16\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<span class=\"text-xs text-center\">美食推荐</span>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div class=\"flex flex-col items-center w-1-5\" @click=\"goTo('traffic')\">\r\n\t\t\t\t\t<div class=\"flex items-center justify-center w-12 h-12 rounded-full mb-2\">\r\n\t\t\t\t\t\t<img :src=\"`https://farm.evcc.top/Uploads/yuanboyuan/index/04.png`\" mode=\"aspectFill\" alt=\"icon\"\r\n\t\t\t\t\t\t\tclass=\"w-24 h-16\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<span class=\"text-xs text-center\">交通指南</span>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div class=\"flex flex-col items-center w-1-5\" @click=\"gotoMini\">\r\n\t\t\t\t\t<div class=\"flex items-center justify-center w-12 h-12 rounded-full mb-2\">\r\n\t\t\t\t\t\t<img :src=\"`https://farm.evcc.top/Uploads/yuanboyuan/index/05.png`\" mode=\"aspectFill\" alt=\"icon\"\r\n\t\t\t\t\t\t\tclass=\"w-24 h-16\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<span class=\"text-xs text-center\">停车场</span>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<!-- 第二行 -->\r\n\t\t\t\t<div class=\"flex flex-col items-center w-1-5 mt-4\" @click=\"callRescue\">\r\n\t\t\t\t\t<div class=\"flex items-center justify-center w-12 h-12 rounded-full mb-2\">\r\n\t\t\t\t\t\t<img :src=\"`https://farm.evcc.top/Uploads/yuanboyuan/index/06.png`\" mode=\"aspectFill\" alt=\"icon\"\r\n\t\t\t\t\t\t\tclass=\"w-24 h-16\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<span class=\"text-xs text-center\">游客救援</span>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div class=\"flex flex-col items-center w-1-5 mt-4\" @click=\"goTo('advice')\">\r\n\t\t\t\t\t<div class=\"flex items-center justify-center w-12 h-12 rounded-full mb-2\">\r\n\t\t\t\t\t\t<img :src=\"`https://farm.evcc.top/Uploads/yuanboyuan/index/07.png`\" mode=\"aspectFill\" alt=\"icon\"\r\n\t\t\t\t\t\t\tclass=\"w-24 h-16\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<span class=\"text-xs text-center\">投诉建议</span>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div class=\"flex flex-col items-center w-1-5 mt-4\" @click=\"goTo('booking')\">\r\n\t\t\t\t\t<div class=\"flex items-center justify-center w-12 h-12 rounded-full mb-2\">\r\n\t\t\t\t\t\t<img :src=\"`https://farm.evcc.top/Uploads/yuanboyuan/index/08.png`\" mode=\"aspectFill\" alt=\"icon\"\r\n\t\t\t\t\t\t\tclass=\"w-24 h-16\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<span class=\"text-xs text-center\">分时预约</span>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div class=\"flex flex-col items-center w-1-5 mt-4\" @click=\"goTo('wifi')\">\r\n\t\t\t\t\t<div class=\"flex items-center justify-center w-12 h-12 rounded-full mb-2\">\r\n\t\t\t\t\t\t<img :src=\"`https://farm.evcc.top/Uploads/yuanboyuan/index/09.png`\" mode=\"aspectFill\" alt=\"icon\"\r\n\t\t\t\t\t\t\tclass=\"w-24 h-16\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<span class=\"text-xs text-center\">无线WIFI</span>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div class=\"flex flex-col items-center w-1-5 mt-4\" @click=\"goTo('vr-page')\">\r\n\t\t\t\t\t<!--<div class=\"flex flex-col items-center w-1-5 mt-4\" @click=\"gotoVR\">-->\r\n\t\t\t\t\t<div class=\"flex items-center justify-center w-12 h-12 rounded-full mb-2\">\r\n\t\t\t\t\t\t<img :src=\"`https://farm.evcc.top/Uploads/yuanboyuan/index/10.png`\" mode=\"aspectFill\" alt=\"icon\"\r\n\t\t\t\t\t\t\tclass=\"w-24 h-16\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<span class=\"text-xs text-center\">全景VR</span>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</section>\r\n\r\n\t\t<section class=\"p-4 mt-2 bg-white rounded-lg flex justify-center\">\r\n\t\t\t<div class=\"w-full max-w-md\">\r\n\t\t\t\t<img :src=\"currentImage\" mode=\"aspectFill\" alt=\"轮播图片\"\r\n\t\t\t\t\tclass=\"w-full h-64 object-cover rounded-lg transition-opacity duration-500\" />\r\n\t\t\t</div>\r\n\t\t</section>\r\n\r\n\t\t<section class=\"p-4 mt-2 bg-white rounded-lg \" @click=\"goTo('notices')\">\r\n\t\t\t<div class=\"flex justify-between items-center mb-4\">\r\n\t\t\t\t<h2 class=\"text-lg font-semibold mb-2\">景区资讯</h2>\r\n\t\t\t\t<div class=\"flex right mb-4\">\r\n\t\t\t\t\t<view class=\"text-blue-500 text-sm flex items-center\" @tap=\"goTo('notices')\">\r\n\t\t\t\t\t\t更多&#x276F;&#x276F;\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"relative w-full h-40 overflow-hidden\">\r\n\t\t\t\t<div v-for=\"(item, index) in visibleNotices\" :key=\"item.id\" class=\"flex items-start mb-2\">\r\n\t\t\t\t\t<div class=\"w-24 h-16 flex-shrink-0 mr-2 rounded-5\">\r\n\t\t\t\t\t\t<img :src=\"parseContentImg(item.content) || `https://farm.evcc.top/Uploads/yuanboyuan/news/${encodeURIComponent(item.category)}.jpg`\"\r\n\t\t\t\t\t\t\tmode=\"aspectFill\" alt=\"icon\" class=\"w-24 h-16 rounded-5\" />\r\n\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"flex-1\">\r\n\t\t\t\t\t\t<div class=\"text-base font-medium text-gray-800 truncate\">\r\n\t\t\t\t\t\t\t{{ item.title.length > 18 ? item.title.slice(0, 18) + '……' : item.title }}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"text-xs text-gray-500 mt-0-5\">{{ item.createTime }}</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</section>\r\n\r\n\r\n\t\t<!-- 下部:景点图 -->\r\n\t\t<section class=\"p-4 mt-2\">\r\n\t\t\t<!-- 标题栏 -->\r\n\t\t\t<div class=\"flex justify-between items-center mb-4\">\r\n\t\t\t\t<!-- 左侧标题 -->\r\n\t\t\t\t<h2 class=\"text-lg font-semibold\">园区景点</h2>\r\n\r\n\t\t\t\t<!-- 右侧更多按钮 -->\r\n\t\t\t\t<!--\r\n\t\t\t\t<div class=\"flex justify-between right mb-4\">\r\n\t\t\t\t\t<button class=\"text-blue-500 text-sm flex items-center\" @click=\"goTo('scenic-list')\">\r\n\t\t\t\t\t\t更多>;\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</div>\r\n\t\t\t\t-->\r\n\t\t\t</div>\r\n\r\n\t\t\t<!-- 景点网格,每行3个 -->\r\n\t\t\t<div class=\"grid grid-cols-3 gap-4\">\r\n\t\t\t\t<div v-for=\"(scenic, index) in ASSETS.spots\" :key=\"index\"\r\n\t\t\t\t\tclass=\"bg-white rounded-xl overflow-hidden shadow\" @click=\"goToSpotDetail(scenic)\">\r\n\t\t\t\t\t<img :src=\"scenic.imgUrl\" alt=\"\" class=\"w-full h-24 object-cover\">\r\n\t\t\t\t\t<div class=\"p-2 text-xs text-center font-bold\">{{ scenic.name }}</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</section>\r\n\r\n\t\t<view v-if=\"!userStore.username && showAuth\" class=\"auth-popup\">\r\n\t\t\t<view class=\"auth-content\">\r\n\t\t\t\t<view class=\"auth-title\">荆门市园博园 申请</view>\r\n\r\n\t\t\t\t<view class=\"auth-info\">\r\n\t\t\t\t\t将获取您的微信昵称、头像和性别\r\n\t\t\t\t</view>\r\n\r\n\t\t\t\t<view class=\"auth-buttons\">\r\n\t\t\t\t\t<view class=\"auth-btn cancel\" @click=\"getUserinfoCancel\">取消</view>\r\n\t\t\t\t\t<view class=\"auth-btn allow\" @click=\"getUserinfoAllow\">允许</view> \r\n\t\t\t\t\t<!--<button open-type=\"getUserProfile\" @getuserinfo=\"handleGetUserInfo\">\r\n\t\t\t\t\t\t获取微信授权\r\n\t\t\t\t\t</button>-->\r\n\r\n\t\t\t\t</view>\r\n\t\t\t</view>\r\n\t\t</view>\r\n\r\n\t</div>\r\n</template>\r\n\r\n<script>\r\n\timport {\r\n\t\tASSETS\r\n\t} from './assets.js';\r\n\timport {\r\n\t\tref,\r\n\t\tonMounted,\r\n\t\tonUnmounted\r\n\t} from 'vue';\r\n\timport {\r\n\t\tapiService\r\n\t} from '@/apiservice/apiService';\r\n\timport {\r\n\t\tuseUserStore\r\n\t} from '@/stores/user'\r\n\r\n\tconst userStore = useUserStore()\r\n\r\n\texport default {\r\n\t\tname: 'Home',\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tASSETS,\r\n\t\t\t\tisVideoPlaying: false,\r\n\t\t\t\tcurrentImage: '', // 当前轮播图片\r\n\t\t\t\tcurrentIndex: 0, // 当前图片索引\r\n\t\t\t\tnoticesList: [], // 后台数据\r\n\t\t\t\tvisibleNotices: [], // 当前显示的3条\r\n\t\t\t\tnoticeIndex: 0, // 当前起始索引\r\n\t\t\t\tnoticeTimer: null, // 定时器\r\n\t\t\t\tuserStore: userStore,\r\n\t\t\t\tshowAuth: true\r\n\t\t\t}\r\n\t\t},\r\n\t\tonShareAppMessage() {\r\n\t\t\treturn {\r\n\t\t\t\ttitle: '欢迎来荆门市园博园游玩!',\r\n\t\t\t\tpath: '/pages/index/index'\r\n\t\t\t}\r\n\t\t},\r\n\t\tonShareTimeline() {\r\n\t\t\treturn {\r\n\t\t\t\ttitle: '欢迎来荆门市园博园游玩!'\r\n\t\t\t}\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\tgoToGuide() {\r\n\t\t\t\tuni.switchTab({\r\n\t\t\t\t\turl: '/pages/guide/guide'\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\tgoTo(page) {\r\n\t\t\t\t//alert(`跳转到 ${page} 页面`);\r\n\t\t\t\t//this.$router.push(`/pages/index/${page}`)\r\n\t\t\t\tuni.navigateTo({\r\n\t\t\t\t\turl: `/pages/index/${page}`\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\tplayVideo() {\r\n\t\t\t\tthis.isVideoPlaying = true;\r\n\t\t\t},\r\n\t\t\tgotoVR() {\r\n\t\t\t\tuni.showModal({\r\n\t\t\t\t\ttitle: '提示',\r\n\t\t\t\t\tcontent: '小程序无法直接打开全景页面,是否在浏览器中查看?',\r\n\t\t\t\t\tsuccess: (res) => {\r\n\t\t\t\t\t\tif (res.confirm) {\r\n\t\t\t\t\t\t\tuni.openUrl({\r\n\t\t\t\t\t\t\t\turl: ASSETS.vr_url\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\r\n\t\t\t},\r\n\t\t\tgotoMini() {\r\n\t\t\t\t//alert(`需要在正式环境下生效`);\r\n\t\t\t\tuni.navigateToMiniProgram({\r\n\t\t\t\t\tappId: ASSETS.parking_appid, // 目标小程序的 AppID\r\n\t\t\t\t\t//path: 'pages/index/index', // 打开的页面路径,可选\r\n\t\t\t\t\t//extraData: {\r\n\t\t\t\t\t//\tfoo: 'bar'\r\n\t\t\t\t\t//}, // 传递参数,可选\r\n\t\t\t\t\tenvVersion: 'release', // 打开版本:develop / trial / release\r\n\t\t\t\t\tsuccess(res) {\r\n\t\t\t\t\t\tconsole.log('跳转成功', res);\r\n\t\t\t\t\t},\r\n\t\t\t\t\tfail(err) {\r\n\t\t\t\t\t\tconsole.error('跳转失败', err);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\tgoToSpotDetail(spot) {\r\n\t\t\t\t//alert(`跳转到景点详情:${spot.name}`);\r\n\t\t\t\t//this.$router.push(`/pages/index/scenic-detail?id=${spot.id}&t=${Date.now()}`)\r\n\t\t\t\tuni.setStorageSync('scenic_id', spot.id)\r\n\t\t\t\tuni.navigateTo({\r\n\t\t\t\t\turl: `/pages/index/scenic-detail?id=${spot.id}&t=${Date.now()}`\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\tcallRescue() {\r\n\t\t\t\tuni.showModal({\r\n\t\t\t\t\ttitle: \"提示\",\r\n\t\t\t\t\tcontent: `是否拨打救援电话:${ASSETS.rescure_phoneNumber}`,\r\n\t\t\t\t\tcancelText: \"取消\",\r\n\t\t\t\t\tconfirmText: \"拨打\",\r\n\t\t\t\t\tsuccess: (res) => {\r\n\t\t\t\t\t\tif (res.confirm) {\r\n\t\t\t\t\t\t\tuni.makePhoneCall({\r\n\t\t\t\t\t\t\t\tphoneNumber: ASSETS.rescure_phoneNumber\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\tstartCarousel() {\r\n\t\t\t\tif (!ASSETS.jiaonang || ASSETS.jiaonang.length === 0) return;\r\n\r\n\t\t\t\t// 初始显示第一张\r\n\t\t\t\tthis.currentImage = ASSETS.jiaonang[0];\r\n\t\t\t\tthis.currentIndex = 0;\r\n\r\n\t\t\t\t// 每隔3秒切换\r\n\t\t\t\tthis.carouselInterval = setInterval(() => {\r\n\t\t\t\t\tthis.currentIndex = (this.currentIndex + 1) % ASSETS.jiaonang.length;\r\n\t\t\t\t\tthis.currentImage = ASSETS.jiaonang[this.currentIndex];\r\n\t\t\t\t}, 3000);\r\n\t\t\t},\r\n\t\t\tstopCarousel() {\r\n\t\t\t\tif (this.carouselInterval) {\r\n\t\t\t\t\tclearInterval(this.carouselInterval);\r\n\t\t\t\t\tthis.carouselInterval = null;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tupdateVisibleNotices() {\r\n\t\t\t\tconst total = this.noticesList.length;\r\n\t\t\t\tif (total === 0) return;\r\n\r\n\t\t\t\t// 从 noticeIndex 开始取 3 条,循环取\r\n\t\t\t\tthis.visibleNotices = [];\r\n\t\t\t\tfor (let i = 0; i < 3; i++) {\r\n\t\t\t\t\tthis.visibleNotices.push(this.noticesList[(this.noticeIndex + i) % total]);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// 更新起始索引\r\n\t\t\t\tthis.noticeIndex = (this.noticeIndex + 1) % total;\r\n\t\t\t},\r\n\r\n\t\t\t// 启动定时器\r\n\t\t\tstartNoticeRotation() {\r\n\t\t\t\tthis.updateVisibleNotices(); // 初始化显示\r\n\t\t\t\tthis.noticeTimer = setInterval(() => {\r\n\t\t\t\t\tthis.updateVisibleNotices();\r\n\t\t\t\t}, 5000); // 每5秒切换一次,可根据需求调整\r\n\t\t\t},\r\n\r\n\t\t\tstopNoticeRotation() {\r\n\t\t\t\tif (this.noticeTimer) clearInterval(this.noticeTimer);\r\n\t\t\t},\r\n\r\n\t\t\t// 获取数据\r\n\t\t\tasync fetchNotices() {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tconst res = await apiService.noticeList(); // 假设返回数组\r\n\t\t\t\t\tthis.noticesList = res.data;\r\n\t\t\t\t\tthis.startNoticeRotation();\r\n\t\t\t\t\t//this.updateVisibleNotices(); // 初始化显示\r\n\r\n\t\t\t\t} catch (err) {\r\n\t\t\t\t\tconsole.error('获取公告失败', err);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tparseContentImg(content) {\r\n\t\t\t\tif (!content || typeof content !== 'string') {\r\n\t\t\t\t\treturn null;\r\n\t\t\t\t}\r\n\t\t\t\tconst imgMatch = content.match(/<img[^>]+src=[\"']?([^\"'>]+)[\"']?/i);\r\n\t\t\t\tconst imgSrc = imgMatch ? imgMatch[1] : null;\r\n\t\t\t\treturn imgSrc;\r\n\t\t\t},\r\n\t\t\tgetUserinfoCancel() {\r\n\t\t\t\tthis.showAuth = false;\r\n\r\n\t\t\t},\r\n\t\t\tasync handleGetUserInfo(e) {\r\n\t\t\t\tconsole.log(\"getUserProfile detail:\", e.detail);\r\n\t\t\t\tif (e.detail.errMsg === \"getUserProfile:ok\") {\r\n\t\t\t\t\tconst userInfo = e.detail.userInfo;\r\n\t\t\t\t\tconst jsonData = {\r\n\t\t\t\t\t\tid: userStore.id,\r\n\t\t\t\t\t\tuuid: userStore.uuid,\r\n\t\t\t\t\t\tusername: userInfo.nickName,\r\n\t\t\t\t\t\tsex: userInfo.gender === 2 ? \"female\" : \"male\",\r\n\t\t\t\t\t\tavatarurl: userInfo.avatarUrl\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\tif (jsonData.id) {\r\n\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\tconst res = await apiService.touristUpdate(jsonData);\r\n\t\t\t\t\t\t\tif (res.code === 1000) {\r\n\t\t\t\t\t\t\t\tuserStore.saveUserInfo({\r\n\t\t\t\t\t\t\t\t\tusername: jsonData.username,\r\n\t\t\t\t\t\t\t\t\tavatarUrl: jsonData.avatarurl,\r\n\t\t\t\t\t\t\t\t\tsex: jsonData.sex\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tuni.showToast({\r\n\t\t\t\t\t\t\t\t\ttitle: \"更新成功\",\r\n\t\t\t\t\t\t\t\t\ticon: \"success\"\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tuni.showToast({\r\n\t\t\t\t\t\t\t\t\ttitle: \"更新失败\",\r\n\t\t\t\t\t\t\t\t\ticon: \"error\"\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} catch (err) {\r\n\t\t\t\t\t\t\tconsole.error(err);\r\n\t\t\t\t\t\t\tuni.showToast({\r\n\t\t\t\t\t\t\t\ttitle: \"网络错误\",\r\n\t\t\t\t\t\t\t\ticon: \"error\"\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}finally{\r\n\t\t\t\t\t\t\tthis.showAuth = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.showAuth = false;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.log(\"用户拒绝授权\");\r\n\t\t\t\t}\r\n\t\t\t\tthis.showAuth = false;\r\n\t\t\t},\r\n\t\t\tasync getUserinfoAllow() {\r\n\t\t\t\tuni.navigateTo({\r\n\t\t\t\t\turl: `/pages/ucenter/settings`\r\n\t\t\t\t})\r\n\t\t\t\t/*\r\n\t\t\t\tuni.getUserProfile({\r\n\t\t\t\t\tdesc: '获取微信公开信息-昵称和头像',\r\n\t\t\t\t\tsuccess: (infoRes) => {\r\n\t\t\t\t\t\tconst userInfo = infoRes.userInfo\r\n\t\t\t\t\t\tconst jsonData = {\r\n\t\t\t\t\t\t\tid: userStore.id,\r\n\t\t\t\t\t\t\tuuid: userStore.uuid,\r\n\t\t\t\t\t\t\tusername: userInfo.nickName,\r\n\t\t\t\t\t\t\tsex: userInfo.gender == 2 ? \"female\" : \"male\",\r\n\t\t\t\t\t\t\tphone: userStore.phone,\r\n\t\t\t\t\t\t\tavatarurl: userInfo.avatarUrl\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\tconsole.log(jsonData)\r\n\r\n\t\t\t\t\t\tif (jsonData.id) {\r\n\t\t\t\t\t\t\tapiService.touristUpdate(jsonData).then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.code === 1000) {\r\n\t\t\t\t\t\t\t\t\tconsole.log('后端请求执行成功:')\r\n\t\t\t\t\t\t\t\t\tconsole.log(res)\r\n\r\n\t\t\t\t\t\t\t\t\tuni.showModal({\r\n\t\t\t\t\t\t\t\t\t\ttitle: '更新成功',\r\n\t\t\t\t\t\t\t\t\t\tcontent: res.message,\r\n\t\t\t\t\t\t\t\t\t\tshowCancel: false,\r\n\t\t\t\t\t\t\t\t\t\tconfirmText: '确定'\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tuserStore.saveUserInfo({\r\n\t\t\t\t\t\t\t\t\t\tusername: jsonData.username,\r\n\t\t\t\t\t\t\t\t\t\tavatarUrl: jsonData.avatarurl,\r\n\t\t\t\t\t\t\t\t\t\tsex: jsonData.sex,\r\n\t\t\t\t\t\t\t\t\t\tphone: ''\r\n\t\t\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tuni.showModal({\r\n\t\t\t\t\t\t\t\t\t\ttitle: '更新失败',\r\n\t\t\t\t\t\t\t\t\t\tcontent: res.message,\r\n\t\t\t\t\t\t\t\t\t\tshowCancel: false,\r\n\t\t\t\t\t\t\t\t\t\tconfirmText: '确定'\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tconsole.warn('游客更新失败:', res.message)\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tthis.showAuth = false;\r\n\t\t\t\t\t\t\t}).catch((err) => {\r\n\t\t\t\t\t\t\t\tconsole.error('游客更新错误:', err)\r\n\t\t\t\t\t\t\t\tthis.showAuth = false;\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\tfail: (err) => {\r\n\t\t\t\t\t\tconsole.error('获取用户信息失败:', err);\r\n\t\t\t\t\t\tthis.showAuth = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t*/\r\n\t\t\t}\r\n\r\n\t\t},\r\n\t\tmounted() {\r\n\t\t\tthis.startCarousel();\r\n\t\t\tthis.fetchNotices();\r\n\r\n\t\t},\r\n\t\tbeforeUnmount() {\r\n\t\t\tthis.stopCarousel();\r\n\t\t\tthis.stopNoticeRotation();\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style>\r\n\t/* transition-opacity */\r\n\t.transition-opacity {\r\n\t\ttransition-property: opacity;\r\n\t}\r\n\r\n\t/* duration-500 (500ms) */\r\n\t.duration-500 {\r\n\t\ttransition-duration: 1000ms;\r\n\t}\r\n\r\n\t.flex {\r\n\t\tdisplay: flex;\r\n\t}\r\n\r\n\t.flex-col {\r\n\t\tflex-direction: column;\r\n\t}\r\n\r\n\t.min-h-screen {\r\n\t\tmin-height: 100vh;\r\n\t}\r\n\r\n\t.bg-gray-100 {\r\n\t\tbackground-color: #f3f4f6;\r\n\t}\r\n\r\n\t.p-10 {\r\n\t\tpadding: 10px;\r\n\t}\r\n\r\n\t.bg-black {\r\n\t\tbackground-color: #000000;\r\n\t}\r\n\r\n\t.justify-center {\r\n\t\tjustify-content: center;\r\n\t}\r\n\r\n\t.items-center {\r\n\t\talign-items: center;\r\n\t}\r\n\r\n\t.w-full {\r\n\t\twidth: 100%;\r\n\t}\r\n\r\n\t.h-full {\r\n\t\theight: 100%;\r\n\t}\r\n\r\n\t.max-w-120px {\r\n\t\tmax-width: 1200px;\r\n\t}\r\n\r\n\t.aspect-video {\r\n\t\taspect-ratio: 16/9;\r\n\t}\r\n\r\n\t.object-cover {\r\n\t\tobject-fit: cover;\r\n\t}\r\n\r\n\t.p-4 {\r\n\t\tpadding: 1rem;\r\n\t\t/* 16px */\r\n\t}\r\n\r\n\t.p-2 {\r\n\t\tpadding: 0.5rem;\r\n\t\t/* 16px */\r\n\t}\r\n\r\n\t.bg-white {\r\n\t\tbackground-color: #ffffff;\r\n\t}\r\n\r\n\t.flex-wrap {\r\n\t\tflex-wrap: wrap;\r\n\t}\r\n\r\n\t.justify-between {\r\n\t\tjustify-content: space-between;\r\n\t}\r\n\r\n\t.font-bold {\r\n\t\tfont-weight: bold;\r\n\t}\r\n\r\n\t.w-1-5 {\r\n\t\twidth: 20%;\r\n\t}\r\n\r\n\t.items-center {\r\n\t\talign-items: center;\r\n\t}\r\n\r\n\t.w-12 {\r\n\t\twidth: 3rem;\r\n\t\t/* 48px */\r\n\t}\r\n\r\n\t.h-12 {\r\n\t\theight: 3rem;\r\n\t\t/* 48px */\r\n\t}\r\n\r\n\t.bg-blue-500 {\r\n\t\tbackground-color: #3b82f6;\r\n\t}\r\n\r\n\t.bg-green-500 {\r\n\t\tbackground-color: #10b981;\r\n\t}\r\n\r\n\t.bg-red-500 {\r\n\t\tbackground-color: #ef4444;\r\n\t}\r\n\r\n\t.bg-yellow-500 {\r\n\t\tbackground-color: #f59e0b;\r\n\t}\r\n\r\n\t.bg-purple-500 {\r\n\t\tbackground-color: #8b5cf6;\r\n\t}\r\n\r\n\t.bg-indigo-500 {\r\n\t\tbackground-color: #6366f1;\r\n\t}\r\n\r\n\t.bg-pink-500 {\r\n\t\tbackground-color: #ec4899;\r\n\t}\r\n\r\n\t.bg-teal-500 {\r\n\t\tbackground-color: #14b8a6;\r\n\t}\r\n\r\n\t.bg-gray-700 {\r\n\t\tbackground-color: #374151;\r\n\t}\r\n\r\n\t.bg-orange-500 {\r\n\t\tbackground-color: #f97316;\r\n\t}\r\n\r\n\t.rounded-full {\r\n\t\tborder-radius: 9999px;\r\n\t}\r\n\r\n\t.rounded-5 {\r\n\t\tborder-radius: 5px;\r\n\t}\r\n\r\n\t.mb-2 {\r\n\t\tmargin-bottom: 0.5rem;\r\n\t}\r\n\r\n\t.mt-2 {\r\n\t\tmargin-top: 0.5rem;\r\n\t}\r\n\r\n\t.text-white {\r\n\t\tcolor: #ffffff;\r\n\t}\r\n\r\n\t.text-2xl {\r\n\t\tfont-size: 1.5rem;\r\n\t\tline-height: 2rem;\r\n\t}\r\n\r\n\t.text-xs {\r\n\t\tfont-size: 0.75rem;\r\n\t\tline-height: 1rem;\r\n\t}\r\n\r\n\t.text-center {\r\n\t\ttext-align: center;\r\n\t}\r\n\r\n\t.mt-4 {\r\n\t\tmargin-top: 1rem;\r\n\t}\r\n\r\n\t.max-w-md {\r\n\t\tmax-width: 28rem;\r\n\t\t/* 448px */\r\n\t}\r\n\r\n\t.rounded-full {\r\n\t\tborder-radius: 9999px;\r\n\t}\r\n\r\n\t.rounded-xl {\r\n\t\tborder-radius: 12px;\r\n\t}\r\n\r\n\t.overflow-hidden {\r\n\t\toverflow: hidden;\r\n\t}\r\n\r\n\t.h-16 {\r\n\t\theight: 4rem;\r\n\t\t/* 64px */\r\n\t}\r\n\r\n\t.h-32 {\r\n\t\theight: 5rem;\r\n\t\t/* 64px */\r\n\t}\r\n\r\n\t.h-64 {\r\n\t\theight: 10rem;\r\n\t}\r\n\r\n\t.grid {\r\n\t\tdisplay: grid;\r\n\t}\r\n\r\n\t.grid-cols-3 {\r\n\t\tgrid-template-columns: repeat(3, 1fr);\r\n\t}\r\n\r\n\t.gap-4 {\r\n\t\tgap: 1rem;\r\n\t\t/* 16px */\r\n\t}\r\n\r\n\t.shadow {\r\n\t\tbox-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);\r\n\t}\r\n\r\n\t.p-2 {\r\n\t\tpadding: 0.5rem;\r\n\t}\r\n\r\n\t.text-lg {\r\n\t\tfont-size: 1.125rem;\r\n\t\tline-height: 1.75rem;\r\n\t}\r\n\r\n\t.font-semibold {\r\n\t\tfont-weight: 600;\r\n\t}\r\n\r\n\t.text-blue-500 {\r\n\t\tcolor: #3b82f6;\r\n\t}\r\n\r\n\t.text-sm {\r\n\t\tfont-size: 0.875rem;\r\n\t\tline-height: 1.25rem;\r\n\t}\r\n\r\n\t.text-base {\r\n\t\tfont-size: 1rem;\r\n\t\tline-height: 1.5rem;\r\n\t}\r\n\r\n\t.mb-4 {\r\n\t\tmargin-bottom: 1rem;\r\n\t}\r\n\r\n\t.h-24 {\r\n\t\theight: 4rem\r\n\t}\r\n\r\n\t.h-40 {\r\n\t\theight: 8rem\r\n\t}\r\n\r\n\t/* 容器 */\r\n\t.w-full {\r\n\t\twidth: 100%;\r\n\t}\r\n\r\n\t.p-4 {\r\n\t\tpadding: 1rem;\r\n\t\t/* 16px */\r\n\t}\r\n\r\n\t.bg-white {\r\n\t\tbackground-color: #ffffff;\r\n\t}\r\n\r\n\t.rounded-lg {\r\n\t\tborder-radius: 0.5rem;\r\n\t\t/* 8px */\r\n\t}\r\n\r\n\t.shadow-md {\r\n\t\tbox-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.06);\r\n\t}\r\n\r\n\t/* 标题 */\r\n\t.text-lg {\r\n\t\tfont-size: 1.125rem;\r\n\t\t/* 18px */\r\n\t\tline-height: 1.75rem;\r\n\t\t/* 28px */\r\n\t}\r\n\r\n\t.font-semibold {\r\n\t\tfont-weight: 600;\r\n\t}\r\n\r\n\t.mb-2 {\r\n\t\tmargin-bottom: 0.5rem;\r\n\t\t/* 8px */\r\n\t}\r\n\r\n\t/* 显示区域 */\r\n\t.relative {\r\n\t\tposition: relative;\r\n\t}\r\n\r\n\t.h-40 {\r\n\t\theight: 10rem;\r\n\t\t/* 160px */\r\n\t}\r\n\r\n\t.overflow-hidden {\r\n\t\toverflow: hidden;\r\n\t}\r\n\r\n\t/* 单行条目 */\r\n\t.flex {\r\n\t\tdisplay: flex;\r\n\t}\r\n\r\n\t.items-start {\r\n\t\talign-items: flex-start;\r\n\t}\r\n\r\n\t.mb-2 {\r\n\t\tmargin-bottom: 0.5rem;\r\n\t\t/* 8px */\r\n\t}\r\n\r\n\t/* 左侧图标 */\r\n\t.w-8 {\r\n\t\twidth: 2rem;\r\n\t\t/* 32px */\r\n\t}\r\n\r\n\t.h-8 {\r\n\t\theight: 2rem;\r\n\t\t/* 32px */\r\n\t}\r\n\r\n\t.w-24 {\r\n\t\twidth: 4rem;\r\n\t\t/* 32px */\r\n\r\n\t}\r\n\r\n\t.h-16 {\r\n\t\theight: 3rem;\r\n\t\t/* 32px */\r\n\t}\r\n\r\n\r\n\t.flex-shrink-0 {\r\n\t\tflex-shrink: 0;\r\n\t}\r\n\r\n\t.mr-2 {\r\n\t\tmargin-right: 0.5rem;\r\n\t\t/* 8px */\r\n\t}\r\n\r\n\t.rounded-5 {\r\n\t\tborder-radius: 5px;\r\n\t}\r\n\r\n\t/* 图片 */\r\n\timg {\r\n\t\tdisplay: block;\r\n\t\twidth: 100%;\r\n\t\theight: 100%;\r\n\t\tobject-fit: cover;\r\n\t\t/* 对应 mode=\"aspectFill\" */\r\n\t}\r\n\r\n\t/* 右侧内容 */\r\n\t.flex-1 {\r\n\t\tflex: 1 1 0%;\r\n\t}\r\n\r\n\t/* 标题 */\r\n\t.text-sm {\r\n\t\tfont-size: 0.875rem;\r\n\t\t/* 14px */\r\n\t\tline-height: 1.25rem;\r\n\t\t/* 20px */\r\n\t}\r\n\r\n\t.font-medium {\r\n\t\tfont-weight: 500;\r\n\t}\r\n\r\n\t.text-gray-800 {\r\n\t\tcolor: #1f2937;\r\n\t\t/* 深灰色 */\r\n\t}\r\n\r\n\t.truncate {\r\n\t\twhite-space: nowrap;\r\n\t\toverflow: hidden;\r\n\t\ttext-overflow: ellipsis;\r\n\t}\r\n\r\n\t/* 发布时间 */\r\n\t.text-xs {\r\n\t\tfont-size: 0.75rem;\r\n\t\t/* 12px */\r\n\t\tline-height: 1rem;\r\n\t\t/* 16px */\r\n\t}\r\n\r\n\t.text-gray-500 {\r\n\t\tcolor: #6b7280;\r\n\t\t/* 浅灰色 */\r\n\t}\r\n\r\n\t.mt-0-5 {\r\n\t\tmargin-top: 0.125rem;\r\n\t\t/* 2px */\r\n\t}\r\n\r\n\t/* 弹窗 */\r\n\t.auth-popup {\r\n\t\tposition: fixed;\r\n\t\tbottom: 0;\r\n\t\tleft: 0;\r\n\t\twidth: 100%;\r\n\t\theight: 30%;\r\n\t\tbackground-color: #fff;\r\n\t\tbox-shadow: 0 -2px 8px rgba(0, 0, 0, 0.15);\r\n\t\tz-index: 100;\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: center;\r\n\t\talign-items: flex-start;\r\n\t\t/* 弹窗内容靠上 */\r\n\t}\r\n\r\n\t.auth-content {\r\n\t\twidth: 90%;\r\n\t}\r\n\r\n\t/* 第一行标题靠左靠上 */\r\n\t.auth-title {\r\n\t\tmargin-top: 10rpx;\r\n\t\tfont-size: 16px;\r\n\t\tfont-weight: bold;\r\n\t\ttext-align: left;\r\n\t\tmargin-bottom: 12px;\r\n\t}\r\n\r\n\t/* 第二行文字靠左,上下居中 */\r\n\t.auth-info {\r\n\t\tfont-size: 14px;\r\n\t\tcolor: #555;\r\n\t\ttext-align: left;\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\t/* 上下居中 */\r\n\t\theight: 40px;\r\n\t\t/* 可根据需要调整 */\r\n\t\tmargin-bottom: 16px;\r\n\t}\r\n\r\n\t.auth-buttons {\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: space-around;\r\n\t}\r\n\r\n\t.auth-btn {\r\n\t\twidth: 100px;\r\n\t\tpadding: 8px 0;\r\n\t\tborder-radius: 4px;\r\n\t\ttext-align: center;\r\n\t\tfont-weight: bold;\r\n\t}\r\n\r\n\t.auth-btn.cancel {\r\n\t\tbackground-color: #eee;\r\n\t\tcolor: #333;\r\n\t}\r\n\r\n\t.auth-btn.allow {\r\n\t\tbackground-color: #007aff;\r\n\t\tcolor: #fff;\r\n\t}\r\n</style>","import MiniProgramPage from 'D:/HBuilderProjects/园博园/pages/index/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["ASSETS","uni","apiService"],"mappings":"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"}