Files

207 lines
7.9 KiB
JavaScript
Raw Permalink Normal View History

2026-08-25 12:01:09 +08:00
"use strict";
(self["webpackChunkliu_official"] = self["webpackChunkliu_official"] || []).push([[276],{
/***/ 3902:
/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
// EXTERNAL MODULE: ./node_modules/.pnpm/vue@3.5.16/node_modules/vue/dist/vue.esm-bundler.js + 5 modules
var vue_esm_bundler = __webpack_require__(2892);
// EXTERNAL MODULE: ./node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/axios.js + 48 modules
var axios = __webpack_require__(9925);
// EXTERNAL MODULE: ./src/components/vue/mobile/AdPopup.vue + 2 modules
var AdPopup = __webpack_require__(1476);
// EXTERNAL MODULE: ./src/components/vue/mobile/MenuPopup.vue + 3 modules
var MenuPopup = __webpack_require__(5416);
// EXTERNAL MODULE: ./node_modules/.pnpm/element-plus@2.10.2_vue@3.5.16/node_modules/element-plus/es/components/carousel/index.mjs + 9 modules
var components_carousel = __webpack_require__(8489);
;// ./node_modules/.pnpm/unplugin@2.3.5/node_modules/unplugin/dist/webpack/loaders/transform.js??unplugin-auto-import!./node_modules/.pnpm/babel-loader@10.0.0_@babel+core@7.27.4_webpack@5.99.9/node_modules/babel-loader/lib/index.js!./node_modules/.pnpm/vue-loader@17.4.2_vue@3.5.16_webpack@5.99.9/node_modules/vue-loader/dist/index.js??ruleSet[1].rules[11].use[0]!./src/components/vue/mobile/MobileCarousel.vue?vue&type=script&setup=true&lang=js
const _hoisted_1 = ["src"];
/* harmony default export */ var MobileCarouselvue_type_script_setup_true_lang_js = ({
__name: 'MobileCarousel',
props: ['items'],
setup(__props) {
const props = __props;
const items = (0,vue_esm_bundler/* toRef */.lW)(props, 'items');
const carousel = (0,vue_esm_bundler/* ref */.KR)(null);
const carouselWrapper = (0,vue_esm_bundler/* ref */.KR)(null);
const autoplay = (0,vue_esm_bundler/* ref */.KR)(true);
let touchStartX = 0;
let touchEndX = 0;
const handleTouchStart = e => {
autoplay.value = false;
touchStartX = e.touches[0].clientX;
};
const handleTouchMove = e => {
touchEndX = e.touches[0].clientX;
};
const handleTouchEnd = () => {
const threshold = 50; // 滑动阈值(px)
const diff = touchEndX - touchStartX;
if (Math.abs(diff) > threshold) {
if (diff > 0) {
carousel.value.prev();
} else {
carousel.value.next();
}
}
setTimeout(() => {
autoplay.value = true;
}, 5000); // 3秒后恢复自动播放
};
return (_ctx, _cache) => {
return (0,vue_esm_bundler/* openBlock */.uX)(), (0,vue_esm_bundler/* createElementBlock */.CE)("div", {
ref_key: "carouselWrapper",
ref: carouselWrapper,
class: "mobile-carousel",
onTouchstart: handleTouchStart,
onTouchmove: handleTouchMove,
onTouchend: handleTouchEnd
}, [(0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(components_carousel/* ElCarousel */.eP), {
ref_key: "carousel",
ref: carousel,
interval: autoplay.value ? 5000 : 0,
height: "221px",
"pause-on-hover": false
}, {
default: (0,vue_esm_bundler/* withCtx */.k6)(() => [((0,vue_esm_bundler/* openBlock */.uX)(true), (0,vue_esm_bundler/* createElementBlock */.CE)(vue_esm_bundler/* Fragment */.FK, null, (0,vue_esm_bundler/* renderList */.pI)(items.value, item => {
return (0,vue_esm_bundler/* openBlock */.uX)(), (0,vue_esm_bundler/* createBlock */.Wv)((0,vue_esm_bundler/* unref */.R1)(components_carousel/* ElCarouselItem */.vJ), {
key: item
}, {
default: (0,vue_esm_bundler/* withCtx */.k6)(() => [(0,vue_esm_bundler/* createElementVNode */.Lk)("img", {
src: item,
class: "carousel-image"
}, null, 8 /* PROPS */, _hoisted_1)]),
_: 2 /* DYNAMIC */
}, 1024 /* DYNAMIC_SLOTS */);
}), 128 /* KEYED_FRAGMENT */))]),
_: 1 /* STABLE */
}, 8 /* PROPS */, ["interval"])], 544 /* NEED_HYDRATION, NEED_PATCH */);
};
}
});
;// ./src/components/vue/mobile/MobileCarousel.vue?vue&type=script&setup=true&lang=js
// EXTERNAL MODULE: ./node_modules/.pnpm/vue-loader@17.4.2_vue@3.5.16_webpack@5.99.9/node_modules/vue-loader/dist/exportHelper.js
var exportHelper = __webpack_require__(4406);
;// ./src/components/vue/mobile/MobileCarousel.vue
/* unplugin-vue-components disabled */
;
const __exports__ = /*#__PURE__*/(0,exportHelper/* default */.A)(MobileCarouselvue_type_script_setup_true_lang_js, [['__scopeId',"data-v-8dc6d67e"]])
/* harmony default export */ var MobileCarousel = (__exports__);
// EXTERNAL MODULE: ./node_modules/.pnpm/@element-plus+icons-vue@2.3.1_vue@3.5.16/node_modules/@element-plus/icons-vue/dist/index.js
var dist = __webpack_require__(5253);
// EXTERNAL MODULE: ./node_modules/.pnpm/element-plus@2.10.2_vue@3.5.16/node_modules/element-plus/es/components/icon/index.mjs + 2 modules
var icon = __webpack_require__(242);
// EXTERNAL MODULE: ./node_modules/.pnpm/element-plus@2.10.2_vue@3.5.16/node_modules/element-plus/es/components/base/style/css.mjs + 1 modules
var css = __webpack_require__(5729);
// EXTERNAL MODULE: ./node_modules/.pnpm/element-plus@2.10.2_vue@3.5.16/node_modules/element-plus/es/components/icon/style/css.mjs
var style_css = __webpack_require__(9573);
;// ./src/pages/mobile/stadiumReserveDetail/index.js
const request = axios/* default */.A.create({
baseURL: "https://room.yunvip123.cn/prod-api/room",
timeout: 60 * 1000
});
(0,vue_esm_bundler/* createApp */.Ef)({
components: {
AdPopup: AdPopup/* default */.A,
MenuPopup: MenuPopup/* default */.A,
MobileCarousel: MobileCarousel,
LocationInformation: dist/* LocationInformation */.ewv,
ElIcon: icon/* ElIcon */.tk
},
setup() {
(0,vue_esm_bundler/* onMounted */.sV)(async () => {
const params = new URLSearchParams(window.location.search);
const id = params.get('shopId');
if (id) {
queryDetail(id);
}
});
const detail = (0,vue_esm_bundler/* ref */.KR)({});
const imgList = (0,vue_esm_bundler/* ref */.KR)([]);
function queryDetail(id) {
request.get('mini/queryRoomShop', {
params: {
shopId: id
}
}).then(async res => {
detail.value = res.data.data;
imgList.value = detail.value.roomLogo.split(',') || [];
await (0,vue_esm_bundler/* nextTick */.dY)();
initMap();
});
}
const map = (0,vue_esm_bundler/* ref */.KR)(null);
const marker = (0,vue_esm_bundler/* ref */.KR)(null);
function initMap() {
const point = new TMap.LatLng(detail.value.latitude, detail.value.longitude);
map.value = new TMap.Map(document.getElementById('map'), {
center: point
});
marker.value = new TMap.MultiMarker({
map: map.value,
geometries: [{
"id": "marker1",
"position": point,
"properties": {
"title": "marker1"
}
}]
});
}
const lgyyPopup = (0,vue_esm_bundler/* ref */.KR)(null);
function openLgyy() {
lgyyPopup.value.open();
}
const gkdPopup = (0,vue_esm_bundler/* ref */.KR)(null);
function openGkd() {
gkdPopup.value.open();
}
const menuPopup = (0,vue_esm_bundler/* ref */.KR)(null);
function openMenu() {
menuPopup.value.open();
}
return {
detail,
imgList,
lgyyPopup,
openLgyy,
gkdPopup,
openGkd,
menuPopup,
openMenu
};
}
}).mount("#homeMain");
/***/ })
},
/******/ function(__webpack_require__) { // webpackRuntimeModules
/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
/******/ __webpack_require__.O(0, [534,810,361,76], function() { return __webpack_exec__(3902); });
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ }
]);
//# sourceMappingURL=stadiumReserveDetailM.js.map?hash=b446ba1443bc4913f472