This commit is contained in:
ZhuRui
2026-08-25 12:01:09 +08:00
commit 944005507f
252 changed files with 145378 additions and 0 deletions
+46
View File
@@ -0,0 +1,46 @@
"use strict";
(self["webpackChunkliu_official"] = self["webpackChunkliu_official"] || []).push([[594],{
/***/ 839:
/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2892);
/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7569);
/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9925);
/* harmony import */ var _components_vue_FullPopup_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6914);
const request = axios__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.create({
baseURL: "https://room.yunvip123.cn/prod-api/room",
timeout: 60 * 1000
});
(0,vue__WEBPACK_IMPORTED_MODULE_0__/* .createApp */ .Ef)({
components: {
FullPopup: _components_vue_FullPopup_vue__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A
},
setup() {
(0,vue__WEBPACK_IMPORTED_MODULE_0__/* .onMounted */ .sV)(async () => {
// const res = await request.get("/product/manage/web/page", {
// params: {
// productState: "0",
// },
// });
});
return {};
}
}).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__(839); });
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ }
]);
//# sourceMappingURL=about.js.map?hash=b446ba1443bc4913f472
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"assets/js/about.js?hash=b446ba1443bc4913f472","mappings":";;;;;;;;;;;AAAkC;AACc;AAC1B;AACI;AAC6B;AAEvD,MAAMM,OAAO,GAAGF,sDAAK,CAACG,MAAM,CAAC;EAC3BC,OAAO,EAAEC,yCAAuB;EAChCI,OAAO,EAAE,EAAE,GAAG;AAChB,CAAC,CAAC;AAEFb,wDAAS,CAAC;EACRc,UAAU,EAAE;IAAET,SAASA,gFAAAA;EAAC,CAAC;EACzBU,KAAKA,CAAA,EAAG;IACNd,wDAAS,CAAC,YAAY;MACpB;MACA;MACA;MACA;MACA;IAAA,CACD,CAAC;IAEF,OAAO,CACP,CAAC;EACH;AACF,CAAC,CAAC,CAACe,KAAK,CAAC,WAAW,CAAC","sources":["webpack://liu-official/./src/pages/about/index.js"],"sourcesContent":["import \"@/assets/scss/about.scss\";\r\nimport { createApp, onMounted, ref } from \"vue\";\r\nimport $ from 'jquery'\r\nimport axios from \"axios\";\r\nimport FullPopup from \"@/components/vue/FullPopup.vue\";\r\n\r\nconst request = axios.create({\r\n baseURL: import.meta.env.API_URL,\r\n timeout: 60 * 1000,\r\n});\r\n\r\ncreateApp({\r\n components: { FullPopup },\r\n setup() {\r\n onMounted(async () => {\r\n // const res = await request.get(\"/product/manage/web/page\", {\r\n // params: {\r\n // productState: \"0\",\r\n // },\r\n // });\r\n });\r\n\r\n return {\r\n };\r\n },\r\n}).mount(\"#homeMain\");\r\n"],"names":["createApp","onMounted","ref","$","axios","FullPopup","request","create","baseURL","import","meta","env","API_URL","timeout","components","setup","mount"],"sourceRoot":""}
+43
View File
@@ -0,0 +1,43 @@
"use strict";
(self["webpackChunkliu_official"] = self["webpackChunkliu_official"] || []).push([[433],{
/***/ 1302:
/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2892);
/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9925);
/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7569);
/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_1__);
const request = axios__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.create({
baseURL: "https://room.yunvip123.cn/prod-api/room",
timeout: 60 * 1000
});
(0,vue__WEBPACK_IMPORTED_MODULE_0__/* .createApp */ .Ef)({
components: {},
setup() {
(0,vue__WEBPACK_IMPORTED_MODULE_0__/* .onMounted */ .sV)(async () => {
const hash = window.location.hash;
if (hash === '#common') {
jquery__WEBPACK_IMPORTED_MODULE_1___default()('#b-common').css('display', 'flex');
} else if (hash === '#gl') {
jquery__WEBPACK_IMPORTED_MODULE_1___default()('#b-gl').css('display', 'flex');
}
});
return {};
}
}).mount("#board");
/***/ })
},
/******/ function(__webpack_require__) { // webpackRuntimeModules
/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
/******/ __webpack_require__.O(0, [534,810], function() { return __webpack_exec__(1302); });
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ }
]);
//# sourceMappingURL=board.js.map?hash=b446ba1443bc4913f472
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"assets/js/board.js?hash=b446ba1443bc4913f472","mappings":";;;;;;;;;;AAAkC;AACc;AACtB;AACJ;AAEtB,MAAMK,OAAO,GAAGF,sDAAK,CAACG,MAAM,CAAC;EAC3BC,OAAO,EAAEC,yCAAuB;EAChCI,OAAO,EAAE,EAAE,GAAG;AAChB,CAAC,CAAC;AAEFZ,wDAAS,CAAC;EACRa,UAAU,EAAE,CAAC,CAAC;EACdC,KAAKA,CAAA,EAAG;IACNb,wDAAS,CAAC,YAAY;MAEpB,MAAMc,IAAI,GAAGC,MAAM,CAACC,QAAQ,CAACF,IAAI;MACjC,IAAIA,IAAI,KAAK,SAAS,EAAE;QACtBX,6CAAC,CAAC,WAAW,CAAC,CAACc,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC;MACvC,CAAC,MAAM,IAAIH,IAAI,KAAK,KAAK,EAAE;QACzBX,6CAAC,CAAC,OAAO,CAAC,CAACc,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC;MACnC;IACF,CAAC,CAAC;IAEF,OAAO,CACP,CAAC;EACH;AACF,CAAC,CAAC,CAACC,KAAK,CAAC,QAAQ,CAAC","sources":["webpack://liu-official/./src/pages/board/index.js"],"sourcesContent":["import \"@/assets/scss/board.scss\";\r\nimport { createApp, onMounted, ref } from \"vue\";\r\nimport axios from \"axios\";\r\nimport $ from 'jquery'\r\n\r\nconst request = axios.create({\r\n baseURL: import.meta.env.API_URL,\r\n timeout: 60 * 1000,\r\n});\r\n\r\ncreateApp({\r\n components: {},\r\n setup() {\r\n onMounted(async () => {\r\n\r\n const hash = window.location.hash\r\n if (hash === '#common') {\r\n $('#b-common').css('display', 'flex')\r\n } else if (hash === '#gl') {\r\n $('#b-gl').css('display', 'flex')\r\n }\r\n });\r\n\r\n return {\r\n };\r\n },\r\n}).mount(\"#board\");\r\n\r\n"],"names":["createApp","onMounted","ref","axios","$","request","create","baseURL","import","meta","env","API_URL","timeout","components","setup","hash","window","location","css","mount"],"sourceRoot":""}
+156
View File
@@ -0,0 +1,156 @@
"use strict";
(self["webpackChunkliu_official"] = self["webpackChunkliu_official"] || []).push([[962],{
/***/ 2003:
/***/ (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/jquery@3.7.1/node_modules/jquery/dist/jquery.js
var jquery = __webpack_require__(7569);
var jquery_default = /*#__PURE__*/__webpack_require__.n(jquery);
// 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/FullPopup.vue + 2 modules
var FullPopup = __webpack_require__(6914);
;// ./src/assets/img/lgyyPopup/right-bg.png
var right_bg_namespaceObject = __webpack_require__.p + "assets/modules/0f1ea0b36190fc5f89e5.png";
;// ./src/assets/img/lgyyPopup/main.png
var main_namespaceObject = __webpack_require__.p + "assets/modules/277d3db20e64ea3ea1e8.png";
;// ./src/assets/img/lgyyPopup/QR_CODE.png
var QR_CODE_namespaceObject = __webpack_require__.p + "assets/modules/5ffe72b347755e7b34f5.png";
// EXTERNAL MODULE: ./src/utils/common.js
var common = __webpack_require__(1639);
;// ./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/LGYYPopup.vue?vue&type=script&setup=true&lang=js
/* harmony default export */ var LGYYPopupvue_type_script_setup_true_lang_js = ({
__name: 'LGYYPopup',
props: {},
setup(__props, {
expose: __expose
}) {
const props = __props;
const show = (0,vue_esm_bundler/* ref */.KR)(false);
function open() {
(0,common/* setScrollLock */.jH)(true);
show.value = true;
}
const close = () => {
(0,common/* setScrollLock */.jH)(false);
show.value = false;
};
__expose({
open
});
return (_ctx, _cache) => {
return (0,vue_esm_bundler/* openBlock */.uX)(), (0,vue_esm_bundler/* createElementBlock */.CE)("div", {
class: (0,vue_esm_bundler/* normalizeClass */.C4)(["container", {
'container--show': show.value
}]),
onScroll: _cache[0] || (_cache[0] = (0,vue_esm_bundler/* withModifiers */.D$)(() => {}, ["stop", "prevent"]))
}, _cache[1] || (_cache[1] = [(0,vue_esm_bundler/* createStaticVNode */.Fv)("<div class=\"right-bg\" data-v-6ea7720c><img src=\"" + right_bg_namespaceObject + "\" alt=\"背景\" data-v-6ea7720c></div><img class=\"main-img\" src=\"" + main_namespaceObject + "\" data-v-6ea7720c><div class=\"qr-p-con\" data-v-6ea7720c><div class=\"title-con\" data-v-6ea7720c><div class=\"title\" data-v-6ea7720c>六个羽友</div><div class=\"sub\" data-v-6ea7720c>国内专业的订场约球平台</div></div><div class=\"qr-code-con\" data-v-6ea7720c><img class=\"qr-img\" src=\"" + QR_CODE_namespaceObject + "\" data-v-6ea7720c><div class=\"qr-dep\" data-v-6ea7720c>微信扫上方二维码体验:</div><div class=\"qr-btn-con\" data-v-6ea7720c><div class=\"row\" data-v-6ea7720c><div class=\"btn\" data-v-6ea7720c>场地预订</div><div class=\"btn\" data-v-6ea7720c>发起活动</div><div class=\"btn\" data-v-6ea7720c>组局约球</div><div class=\"btn\" data-v-6ea7720c>社群俱乐部</div></div><div class=\"row\" data-v-6ea7720c><div class=\"btn\" data-v-6ea7720c>储值计次</div><div class=\"btn\" data-v-6ea7720c>场馆引流</div></div></div></div></div>", 3)]), 34 /* CLASS, NEED_HYDRATION */);
};
}
});
;// ./src/components/vue/LGYYPopup.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/LGYYPopup.vue
/* unplugin-vue-components disabled */
;
const __exports__ = /*#__PURE__*/(0,exportHelper/* default */.A)(LGYYPopupvue_type_script_setup_true_lang_js, [['__scopeId',"data-v-6ea7720c"]])
/* harmony default export */ var LGYYPopup = (__exports__);
;// ./src/pages/home/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: {
LgyyPopup: LGYYPopup,
FullPopup: FullPopup/* default */.A
},
setup() {
(0,vue_esm_bundler/* onMounted */.sV)(async () => {
// const res = await request.get("/product/manage/web/page", {
// params: {
// productState: "0",
// },
// });
// viewScaleLayout();
jquery_default()('#banner-go').on('click', e => {
e.stopPropagation();
window.location.href = '/stadium-reserve.html';
});
jquery_default()('#qydc-btn').on('click', e => {
e.stopPropagation();
window.location.href = '/stadium-reserve.html';
});
jquery_default()('#cggl-btn').on('click', e => {
e.stopPropagation();
goToPage(e, 'qcgl');
});
// $(window).on('resize', viewScaleLayout);
});
const toCommonBoard = () => {
window.location.href = '/board.html#common';
};
const toGlBoard = () => {
window.location.href = '/board.html#gl';
};
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 goToPage = (e, id) => {
e.stopPropagation();
const target = jquery_default()(`#${id}`);
if (target.length) {
jquery_default()('html, body').animate({
scrollTop: target.offset().top
}, 500); // 500ms 平滑滚动
}
};
return {
lgyyPopup,
openLgyy,
gkdPopup,
openGkd,
toCommonBoard,
toGlBoard
};
}
}).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__(2003); });
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ }
]);
//# sourceMappingURL=home.js.map?hash=b446ba1443bc4913f472
File diff suppressed because one or more lines are too long
+59
View File
@@ -0,0 +1,59 @@
"use strict";
(self["webpackChunkliu_official"] = self["webpackChunkliu_official"] || []).push([[627],{
/***/ 6790:
/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2892);
/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9925);
/* harmony import */ var _components_vue_mobile_AdPopup_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1476);
/* harmony import */ var _components_vue_mobile_MenuPopup_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5416);
const request = axios__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.create({
baseURL: "https://room.yunvip123.cn/prod-api/room",
timeout: 60 * 1000
});
(0,vue__WEBPACK_IMPORTED_MODULE_0__/* .createApp */ .Ef)({
components: {
AdPopup: _components_vue_mobile_AdPopup_vue__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,
MenuPopup: _components_vue_mobile_MenuPopup_vue__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A
},
setup() {
(0,vue__WEBPACK_IMPORTED_MODULE_0__/* .onMounted */ .sV)(async () => {});
const lgyyPopup = (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .ref */ .KR)(null);
function openLgyy() {
lgyyPopup.value.open();
}
const gkdPopup = (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .ref */ .KR)(null);
function openGkd() {
gkdPopup.value.open();
}
const menuPopup = (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .ref */ .KR)(null);
function openMenu() {
menuPopup.value.open();
}
return {
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__(6790); });
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ }
]);
//# sourceMappingURL=homeM.js.map?hash=b446ba1443bc4913f472
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"assets/js/homeM.js?hash=b446ba1443bc4913f472","mappings":";;;;;;;;;;AAAwC;AACQ;AACtB;AACgC;AACI;AAE9D,MAAMM,OAAO,GAAGH,sDAAK,CAACI,MAAM,CAAC;EAC3BC,OAAO,EAAEC,yCAAuB;EAChCI,OAAO,EAAE,EAAE,GAAG;AAChB,CAAC,CAAC;AAEFb,wDAAS,CAAC;EACRc,UAAU,EAAE;IAAEV,OAAO;IAAEC,SAASA,uFAAAA;EAAC,CAAC;EAClCU,KAAKA,CAAA,EAAG;IACNd,wDAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAEzB,MAAMe,SAAS,GAAGd,kDAAG,CAAC,IAAI,CAAC;IAE3B,SAASe,QAAQA,CAAA,EAAG;MAClBD,SAAS,CAACE,KAAK,CAACC,IAAI,CAAC,CAAC;IACxB;IAEA,MAAMC,QAAQ,GAAGlB,kDAAG,CAAC,IAAI,CAAC;IAE1B,SAASmB,OAAOA,CAAA,EAAG;MACjBD,QAAQ,CAACF,KAAK,CAACC,IAAI,CAAC,CAAC;IACvB;IAEA,MAAMG,SAAS,GAAGpB,kDAAG,CAAC,IAAI,CAAC;IAE3B,SAASqB,QAAQA,CAAA,EAAG;MAClBD,SAAS,CAACJ,KAAK,CAACC,IAAI,CAAC,CAAC;IACxB;IAEA,OAAO;MACLH,SAAS;MACTC,QAAQ;MACRG,QAAQ;MACRC,OAAO;MACPC,SAAS;MACTC;IACF,CAAC;EACH;AACF,CAAC,CAAC,CAACC,KAAK,CAAC,WAAW,CAAC","sources":["webpack://liu-official/./src/pages/mobile/home/index.js"],"sourcesContent":["import \"@/assets/scss/mobile/home.scss\";\r\nimport { createApp, onMounted, ref } from \"vue\";\r\nimport axios from \"axios\";\r\nimport AdPopup from \"@/components/vue/mobile/AdPopup.vue\";\r\nimport MenuPopup from \"@/components/vue/mobile/MenuPopup.vue\";\r\n\r\nconst request = axios.create({\r\n baseURL: import.meta.env.API_URL,\r\n timeout: 60 * 1000,\r\n});\r\n\r\ncreateApp({\r\n components: { AdPopup, MenuPopup },\r\n setup() {\r\n onMounted(async () => {});\r\n\r\n const lgyyPopup = ref(null);\r\n\r\n function openLgyy() {\r\n lgyyPopup.value.open();\r\n }\r\n\r\n const gkdPopup = ref(null);\r\n\r\n function openGkd() {\r\n gkdPopup.value.open();\r\n }\r\n\r\n const menuPopup = ref(null);\r\n\r\n function openMenu() {\r\n menuPopup.value.open();\r\n }\r\n\r\n return {\r\n lgyyPopup,\r\n openLgyy,\r\n gkdPopup,\r\n openGkd,\r\n menuPopup,\r\n openMenu,\r\n };\r\n },\r\n}).mount(\"#homeMain\");\r\n"],"names":["createApp","onMounted","ref","axios","AdPopup","MenuPopup","request","create","baseURL","import","meta","env","API_URL","timeout","components","setup","lgyyPopup","openLgyy","value","open","gkdPopup","openGkd","menuPopup","openMenu","mount"],"sourceRoot":""}
+102
View File
@@ -0,0 +1,102 @@
"use strict";
(self["webpackChunkliu_official"] = self["webpackChunkliu_official"] || []).push([[792],{
/***/ 4741:
/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7569);
/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _utils_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1639);
jquery__WEBPACK_IMPORTED_MODULE_0___default()(function () {
// 设备检测和重定向
if ((0,_utils_common__WEBPACK_IMPORTED_MODULE_1__/* .isMobileDevice */ .Xb)() && !(0,_utils_common__WEBPACK_IMPORTED_MODULE_1__/* .shouldSkipRedirect */ .fZ)()) {
window.location.replace("/mobile");
return;
}
const nav = jquery__WEBPACK_IMPORTED_MODULE_0___default()(".header__nav");
jquery__WEBPACK_IMPORTED_MODULE_0___default()('#app-left-logo').on('click', () => {
// 点击首页logo 返回首页
console.log('点击');
window.location.href = window.location.origin + '/';
});
// 根据当前URL hash设置活跃导航项
function setActiveNav() {
nav.removeClass("header__nav--active");
const currentHash = window.location.hash;
const pathname = window.location.pathname;
const hash = window.location.hash;
if (pathname !== '/' && hash === '#qcgl') {
window.location.href = '/#qcgl';
return;
}
let targetName = "";
if (!hash && pathname) {
switch (pathname) {
case '/':
targetName = 'main';
break;
case '/stadium-reserve.html':
targetName = 'stadium-reserve';
break;
case '/tournament.html':
targetName = 'tournament';
break;
case '/register.html':
targetName = 'register';
break;
case '/about.html':
targetName = 'about';
break;
}
} else if (hash) {
switch (hash) {
case '#qcgl':
targetName = 'cggl';
break;
}
}
const targetNav = nav.filter(`[data-link="${targetName}"]`);
if (targetNav.length > 0) {
targetNav.addClass("header__nav--active");
} else {
// 如果找不到对应的导航项,默认激活首页
nav.filter('[href="#"]').addClass("header__nav--active");
}
}
// 页面加载时设置活跃状态
setActiveNav();
// 监听hash变化
jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on("hashchange", function () {
setActiveNav();
});
jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on("popstate", function () {
setActiveNav();
});
// 导航点击事件
// nav.on("click", function () {
// if ($(this).data("name") === "业务合作") {
// return;
// }
// nav.removeClass("header__nav--active");
// $(this).addClass("header__nav--active");
// });
});
/***/ })
},
/******/ function(__webpack_require__) { // webpackRuntimeModules
/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
/******/ __webpack_require__.O(0, [810,361,76], function() { return __webpack_exec__(4741); });
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ }
]);
//# sourceMappingURL=main.js.map?hash=b446ba1443bc4913f472
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"assets/js/main.js?hash=b446ba1443bc4913f472","mappings":";;;;;;;;;AAAuB;AACU;AACV;AAC6C;AAEpEA,6CAAC,CAAC,YAAY;EACZ;EACA,IAAIC,uEAAc,CAAC,CAAC,IAAI,CAACC,2EAAkB,CAAC,CAAC,EAAE;IAC7CC,MAAM,CAACC,QAAQ,CAACC,OAAO,CAAC,SAAS,CAAC;IAClC;EACF;EAEA,MAAMC,GAAG,GAAGN,6CAAC,CAAC,cAAc,CAAC;EAE7BA,6CAAC,CAAC,gBAAgB,CAAC,CAACO,EAAE,CAAC,OAAO,EAAE,MAAM;IACpC;IACAC,OAAO,CAACC,GAAG,CAAC,IAAI,CAAC;IACjBN,MAAM,CAACC,QAAQ,CAACM,IAAI,GAAGP,MAAM,CAACC,QAAQ,CAACO,MAAM,GAAG,GAAG;EACrD,CAAC,CAAC;;EAEF;EACA,SAASC,YAAYA,CAAA,EAAG;IACtBN,GAAG,CAACO,WAAW,CAAC,qBAAqB,CAAC;IAEtC,MAAMC,WAAW,GAAGX,MAAM,CAACC,QAAQ,CAACW,IAAI;IACxC,MAAMC,QAAQ,GAAGb,MAAM,CAACC,QAAQ,CAACY,QAAQ;IACzC,MAAMD,IAAI,GAAGZ,MAAM,CAACC,QAAQ,CAACW,IAAI;IAEjC,IAAIC,QAAQ,KAAK,GAAG,IAAID,IAAI,KAAK,OAAO,EAAE;MACxCZ,MAAM,CAACC,QAAQ,CAACM,IAAI,GAAG,QAAQ;MAC/B;IACF;IAGA,IAAIO,UAAU,GAAG,EAAE;IACnB,IAAI,CAACF,IAAI,IAAIC,QAAQ,EAAE;MACrB,QAAQA,QAAQ;QACd,KAAK,GAAG;UACNC,UAAU,GAAG,MAAM;UACnB;QACF,KAAK,uBAAuB;UAC1BA,UAAU,GAAG,iBAAiB;UAC9B;QACF,KAAK,gBAAgB;UACnBA,UAAU,GAAG,UAAU;UACvB;QACF,KAAK,aAAa;UAChBA,UAAU,GAAG,OAAO;UACpB;MACJ;IACF,CAAC,MAAM,IAAIF,IAAI,EAAE;MACf,QAAQA,IAAI;QACV,KAAK,OAAO;UACVE,UAAU,GAAG,MAAM;UACnB;MACJ;IACF;IAEA,MAAMC,SAAS,GAAGZ,GAAG,CAACa,MAAM,CAAC,eAAeF,UAAU,IAAI,CAAC;IAC3D,IAAIC,SAAS,CAACE,MAAM,GAAG,CAAC,EAAE;MACxBF,SAAS,CAACG,QAAQ,CAAC,qBAAqB,CAAC;IAC3C,CAAC,MAAM;MACL;MACAf,GAAG,CAACa,MAAM,CAAC,YAAY,CAAC,CAACE,QAAQ,CAAC,qBAAqB,CAAC;IAC1D;EACF;;EAEA;EACAT,YAAY,CAAC,CAAC;;EAEd;EACAZ,6CAAC,CAACG,MAAM,CAAC,CAACI,EAAE,CAAC,YAAY,EAAE,YAAY;IACrCK,YAAY,CAAC,CAAC;EAChB,CAAC,CAAC;EACFZ,6CAAC,CAACG,MAAM,CAAC,CAACI,EAAE,CAAC,UAAU,EAAE,YAAY;IACnCK,YAAY,CAAC,CAAC;EAChB,CAAC,CAAC;;EAGF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACF,CAAC,CAAC","sources":["webpack://liu-official/./src/main.js"],"sourcesContent":["import \"normalize.css\";\r\nimport \"./assets/scss/main.scss\";\r\nimport $ from \"jquery\";\r\nimport { isMobileDevice, shouldSkipRedirect } from \"./utils/common\";\r\n\r\n$(function () {\r\n // 设备检测和重定向\r\n if (isMobileDevice() && !shouldSkipRedirect()) {\r\n window.location.replace(\"/mobile\");\r\n return;\r\n }\r\n\r\n const nav = $(\".header__nav\");\r\n\r\n $('#app-left-logo').on('click', () => {\r\n // 点击首页logo 返回首页\r\n console.log('点击')\r\n window.location.href = window.location.origin + '/';\r\n })\r\n\r\n // 根据当前URL hash设置活跃导航项\r\n function setActiveNav() {\r\n nav.removeClass(\"header__nav--active\");\r\n\r\n const currentHash = window.location.hash;\r\n const pathname = window.location.pathname\r\n const hash = window.location.hash\r\n\r\n if (pathname !== '/' && hash === '#qcgl') {\r\n window.location.href = '/#qcgl'\r\n return\r\n }\r\n\r\n\r\n let targetName = \"\"\r\n if (!hash && pathname) {\r\n switch (pathname) {\r\n case '/':\r\n targetName = 'main'\r\n break\r\n case '/stadium-reserve.html':\r\n targetName = 'stadium-reserve'\r\n break\r\n case '/register.html':\r\n targetName = 'register'\r\n break\r\n case '/about.html':\r\n targetName = 'about'\r\n break\r\n }\r\n } else if (hash) {\r\n switch (hash) {\r\n case '#qcgl':\r\n targetName = 'cggl'\r\n break\r\n }\r\n }\r\n\r\n const targetNav = nav.filter(`[data-link=\"${targetName}\"]`);\r\n if (targetNav.length > 0) {\r\n targetNav.addClass(\"header__nav--active\");\r\n } else {\r\n // 如果找不到对应的导航项,默认激活首页\r\n nav.filter('[href=\"#\"]').addClass(\"header__nav--active\");\r\n }\r\n }\r\n\r\n // 页面加载时设置活跃状态\r\n setActiveNav();\r\n\r\n // 监听hash变化\r\n $(window).on(\"hashchange\", function () {\r\n setActiveNav();\r\n });\r\n $(window).on(\"popstate\", function () {\r\n setActiveNav();\r\n });\r\n\r\n\r\n // 导航点击事件\r\n // nav.on(\"click\", function () {\r\n // if ($(this).data(\"name\") === \"业务合作\") {\r\n // return;\r\n // }\r\n // nav.removeClass(\"header__nav--active\");\r\n // $(this).addClass(\"header__nav--active\");\r\n // });\r\n});\r\n"],"names":["$","isMobileDevice","shouldSkipRedirect","window","location","replace","nav","on","console","log","href","origin","setActiveNav","removeClass","currentHash","hash","pathname","targetName","targetNav","filter","length","addClass"],"sourceRoot":""}
+34
View File
@@ -0,0 +1,34 @@
"use strict";
(self["webpackChunkliu_official"] = self["webpackChunkliu_official"] || []).push([[85],{
/***/ 2406:
/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
/* harmony import */ var _utils_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1639);
/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7569);
/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);
jquery__WEBPACK_IMPORTED_MODULE_0___default()(function () {
// 设备检测和重定向
if (!(0,_utils_common__WEBPACK_IMPORTED_MODULE_1__/* .isMobileDevice */ .Xb)() && !(0,_utils_common__WEBPACK_IMPORTED_MODULE_1__/* .shouldSkipRedirect */ .fZ)()) {
window.location.replace("/");
}
jquery__WEBPACK_IMPORTED_MODULE_0___default()('#app-left-logo').on('click', () => {
// 点击首页logo 返回首页
window.location.href = window.location.origin + '/';
});
});
/***/ })
},
/******/ function(__webpack_require__) { // webpackRuntimeModules
/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
/******/ __webpack_require__.O(0, [810,361,76], function() { return __webpack_exec__(2406); });
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ }
]);
//# sourceMappingURL=mobile.js.map?hash=b446ba1443bc4913f472
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"assets/js/mobile.js?hash=b446ba1443bc4913f472","mappings":";;;;;;;;;AAAuB;AACiB;AAC4B;AAC7C;AAEvBE,6CAAC,CAAC,YAAY;EACZ;EACA,IAAI,CAACF,uEAAc,CAAC,CAAC,IAAI,CAACC,2EAAkB,CAAC,CAAC,EAAE;IAC9CE,MAAM,CAACC,QAAQ,CAACC,OAAO,CAAC,GAAG,CAAC;EAC9B;EAEAH,6CAAC,CAAC,gBAAgB,CAAC,CAACI,EAAE,CAAC,OAAO,EAAE,MAAM;IACpC;IACAH,MAAM,CAACC,QAAQ,CAACG,IAAI,GAAGJ,MAAM,CAACC,QAAQ,CAACI,MAAM,GAAG,GAAG;EACrD,CAAC,CAAC;AACJ,CAAC,CAAC","sources":["webpack://liu-official/./src/mobile.js"],"sourcesContent":["import \"normalize.css\";\r\nimport \"./assets/scss/mobile/main.scss\";\r\nimport { isMobileDevice, shouldSkipRedirect } from \"./utils/common\";\r\nimport $ from \"jquery\";\r\n\r\n$(function () {\r\n // 设备检测和重定向\r\n if (!isMobileDevice() && !shouldSkipRedirect()) {\r\n window.location.replace(\"/\");\r\n }\r\n\r\n $('#app-left-logo').on('click', () => {\r\n // 点击首页logo 返回首页\r\n window.location.href = window.location.origin + '/';\r\n })\r\n});\r\n"],"names":["isMobileDevice","shouldSkipRedirect","$","window","location","replace","on","href","origin"],"sourceRoot":""}
+143
View File
@@ -0,0 +1,143 @@
"use strict";
(self["webpackChunkliu_official"] = self["webpackChunkliu_official"] || []).push([[748],{
/***/ 9905:
/***/ (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);
;// ./src/assets/img/mobile/lxwm-m.png
var lxwm_m_namespaceObject = __webpack_require__.p + "assets/modules/27d6125e2cd6deb2a908.png";
;// ./src/assets/img/mobile/company-main-m.png
var company_main_m_namespaceObject = __webpack_require__.p + "assets/modules/53fec2fb12db1c56039c.png";
;// ./src/assets/img/mobile/gqzs-m.png
var gqzs_m_namespaceObject = __webpack_require__.p + "assets/modules/478d4ce49ca347806ec0.png";
;// ./src/assets/img/mobile/cxczqy-m.png
var cxczqy_m_namespaceObject = __webpack_require__.p + "assets/modules/c5c3ab7e488ce766208d.png";
;// ./src/assets/img/mobile/rqzs-m.png
var rqzs_m_namespaceObject = __webpack_require__.p + "assets/modules/82b9309600290a578ee1.png";
;// ./src/assets/img/mobile/rqcpzs-m.png
var rqcpzs_m_namespaceObject = __webpack_require__.p + "assets/modules/3e793e628525f7dd9fda.png";
;// ./src/assets/img/mobile/zjzzq-m.png
var zjzzq_m_namespaceObject = __webpack_require__.p + "assets/modules/bdeb7768f961e43c7590.png";
;// ./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/pages/About.vue?vue&type=script&setup=true&lang=js
const _hoisted_1 = {
class: "container"
};
const _hoisted_2 = {
class: "main-body"
};
const _hoisted_3 = ["innerHTML"];
/* harmony default export */ var Aboutvue_type_script_setup_true_lang_js = ({
__name: 'About',
props: {},
setup(__props, {
expose: __expose
}) {
const props = __props;
const aboutCompany = (0,vue_esm_bundler/* ref */.KR)("<p>湖北云铺网络科技有限公司成立于2016年 ,总部位于湖北宜昌,专注于客户管理软件领域。<p/><p>云铺网络是一家专门从事计算机软件研发与销售、智能手持设备销售的应用一体化的综合性科技企业。致力于中小店铺的成长,帮助店铺更加方便、快捷、高效、智能的管理店铺会员、进销存、财务报表等。从软件到硬件,从电脑pc端到手机App移动端、微信端、网上商城全程一体化帮助实体店走上网络平台。</p><p>馆客多是云铺软件公司旗下产品,主要针对羽毛球馆,篮球馆,网球馆,游泳馆等大型综合场馆提供场地预定,会员储值营销,门票售卖,体培管理,商品进销存,智能灯控,智能道闸,器材租赁等智能化解决方案,截至2024年,已累计服务全国超3000家球馆。</p>");
__expose({
open
});
return (_ctx, _cache) => {
return (0,vue_esm_bundler/* openBlock */.uX)(), (0,vue_esm_bundler/* createElementBlock */.CE)("div", _hoisted_1, [_cache[3] || (_cache[3] = (0,vue_esm_bundler/* createElementVNode */.Lk)("img", {
class: "main-bg",
src: lxwm_m_namespaceObject
}, null, -1 /* HOISTED */)), (0,vue_esm_bundler/* createElementVNode */.Lk)("div", _hoisted_2, [_cache[0] || (_cache[0] = (0,vue_esm_bundler/* createElementVNode */.Lk)("div", {
class: "body-tex-title"
}, "关于云铺", -1 /* HOISTED */)), _cache[1] || (_cache[1] = (0,vue_esm_bundler/* createElementVNode */.Lk)("img", {
style: {
"margin-bottom": "30px"
},
class: "tex-inline-img",
src: company_main_m_namespaceObject
}, null, -1 /* HOISTED */)), (0,vue_esm_bundler/* createElementVNode */.Lk)("div", {
class: "tex-div",
innerHTML: aboutCompany.value
}, null, 8 /* PROPS */, _hoisted_3), _cache[2] || (_cache[2] = (0,vue_esm_bundler/* createStaticVNode */.Fv)("<div class=\"body-tex-title\" data-v-2f0e53ec>荣誉及证书</div><div class=\"body-table\" data-v-2f0e53ec><div class=\"row\" data-v-2f0e53ec><img class=\"tex-inline-img\" src=\"" + gqzs_m_namespaceObject + "\" data-v-2f0e53ec><img class=\"tex-inline-img\" src=\"" + cxczqy_m_namespaceObject + "\" data-v-2f0e53ec></div><div class=\"row\" data-v-2f0e53ec><span data-v-2f0e53ec>高企证书</span><span data-v-2f0e53ec>创新成长企业</span></div><div class=\"row\" data-v-2f0e53ec><img class=\"tex-inline-img\" src=\"" + rqzs_m_namespaceObject + "\" data-v-2f0e53ec><img class=\"tex-inline-img\" src=\"" + rqcpzs_m_namespaceObject + "\" data-v-2f0e53ec></div><div class=\"row\" data-v-2f0e53ec><span data-v-2f0e53ec>软企证书</span><span data-v-2f0e53ec>软企产品证书</span></div></div><div class=\"body-tex-title\" data-v-2f0e53ec>软件著作权</div><div class=\"body-tex-sub\" data-v-2f0e53ec>我们已拥有50+项软件著作权,产品稳定更成熟</div><img style=\"margin-bottom:0;\" class=\"tex-inline-img\" src=\"" + zjzzq_m_namespaceObject + "\" data-v-2f0e53ec>", 5))])]);
};
}
});
;// ./src/components/vue/mobile/pages/About.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/pages/About.vue
/* unplugin-vue-components disabled */
;
const __exports__ = /*#__PURE__*/(0,exportHelper/* default */.A)(Aboutvue_type_script_setup_true_lang_js, [['__scopeId',"data-v-2f0e53ec"]])
/* harmony default export */ var About = (__exports__);
;// ./src/pages/mobile/about/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: {
AboutBody: About,
AdPopup: AdPopup/* default */.A,
MenuPopup: MenuPopup/* default */.A
},
setup() {
(0,vue_esm_bundler/* onMounted */.sV)(async () => {});
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 {
lgyyPopup,
gkdPopup,
menuPopup,
openMenu,
openLgyy,
openGkd
};
}
}).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__(9905); });
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ }
]);
//# sourceMappingURL=mobileAbout.js.map?hash=b446ba1443bc4913f472
File diff suppressed because one or more lines are too long
+532
View File
@@ -0,0 +1,532 @@
"use strict";
(self["webpackChunkliu_official"] = self["webpackChunkliu_official"] || []).push([[318],{
/***/ 2461:
/***/ (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);
;// ./src/assets/img/mobile/cgrz-m.png
var cgrz_m_namespaceObject = __webpack_require__.p + "assets/modules/ad175b47185f0e7b90fc.png";
// EXTERNAL MODULE: ./node_modules/.pnpm/element-china-area-data@6.1.0/node_modules/element-china-area-data/dist/element-china-area-data.mjs
var element_china_area_data = __webpack_require__(6780);
// EXTERNAL MODULE: ./node_modules/.pnpm/element-plus@2.10.2_vue@3.5.16/node_modules/element-plus/es/components/message/index.mjs + 7 modules
var message = __webpack_require__(3966);
// EXTERNAL MODULE: ./node_modules/.pnpm/element-plus@2.10.2_vue@3.5.16/node_modules/element-plus/es/components/form/index.mjs + 8 modules
var components_form = __webpack_require__(6976);
// EXTERNAL MODULE: ./node_modules/.pnpm/element-plus@2.10.2_vue@3.5.16/node_modules/element-plus/es/components/input/index.mjs + 6 modules
var input = __webpack_require__(1112);
// EXTERNAL MODULE: ./node_modules/.pnpm/element-plus@2.10.2_vue@3.5.16/node_modules/element-plus/es/components/select/index.mjs + 25 modules
var components_select = __webpack_require__(7547);
// EXTERNAL MODULE: ./node_modules/.pnpm/element-plus@2.10.2_vue@3.5.16/node_modules/element-plus/es/components/popover/index.mjs + 7 modules
var popover = __webpack_require__(606);
// EXTERNAL MODULE: ./node_modules/.pnpm/element-plus@2.10.2_vue@3.5.16/node_modules/element-plus/es/components/button/index.mjs + 12 modules
var components_button = __webpack_require__(3035);
// EXTERNAL MODULE: ./node_modules/.pnpm/element-plus@2.10.2_vue@3.5.16/node_modules/element-plus/dist/index.css
var dist = __webpack_require__(8897);
;// ./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/pages/Register.vue?vue&type=script&setup=true&lang=js
const _hoisted_1 = {
class: "container"
};
const _hoisted_2 = {
class: "main-body"
};
const _hoisted_3 = {
class: "form-con"
};
const _hoisted_4 = {
class: "form-item-row"
};
const _hoisted_5 = {
style: {
"display": "flex",
"align-items": "center",
"gap": "10px",
"width": "100%",
"margin-bottom": "10px"
}
};
const _hoisted_6 = ["src"];
const _hoisted_7 = {
style: {
"text-align": "right",
"margin": "0"
}
};
/* harmony default export */ var Registervue_type_script_setup_true_lang_js = ({
__name: 'Register',
props: {},
setup(__props, {
expose: __expose
}) {
const request = axios/* default */.A.create({
// @ts-ignore
baseURL: "https://room.yunvip123.cn/prod-api/room",
timeout: 60 * 1000
});
const props = __props;
const registerForm = (0,vue_esm_bundler/* ref */.KR)(null);
const codeBtnTex = (0,vue_esm_bundler/* ref */.KR)("获取验证码");
const codeCooling = (0,vue_esm_bundler/* ref */.KR)(60);
let codeCoolingTimer = null;
const codeCanForbid = (0,vue_esm_bundler/* ref */.KR)(false);
const defaultForm = () => {
return {
phone: "",
code: "",
password: "123456",
password2: "123456",
version: 0,
sourceType: 1,
enterpriseName: "",
person: "",
customId: null,
customName: "",
agentId: 8888,
agentName: "",
shopArea: "",
shopId: null,
shopName: null
};
};
const form = (0,vue_esm_bundler/* reactive */.Kh)(defaultForm());
const selectedProvince = (0,vue_esm_bundler/* ref */.KR)("");
const selectedCity = (0,vue_esm_bundler/* ref */.KR)("");
const selectedArea = (0,vue_esm_bundler/* ref */.KR)("");
// 获取省份列表(一级)
const provinceList = element_china_area_data/* regionData */.NO;
// 计算当前省份下的城市列表
const cityList = (0,vue_esm_bundler/* computed */.EW)(() => {
const province = provinceList.find(p => p.value === selectedProvince.value);
return province?.children || [];
});
// 计算当前城市下的区县列表
const areaList = (0,vue_esm_bundler/* computed */.EW)(() => {
const city = cityList.value.find(c => c.value === selectedCity.value);
return city?.children || [];
});
// 清空下级联动数据
function handleProvinceChange() {
selectedCity.value = "";
selectedArea.value = "";
}
function handleCityChange() {
selectedArea.value = "";
}
/** 选中省整体数据 */
const selectedProvinceObj = (0,vue_esm_bundler/* computed */.EW)(() => provinceList.find(p => p.value === selectedProvince.value) || {});
/** 选中市整体数据 */
const selectedCityObj = (0,vue_esm_bundler/* computed */.EW)(() => cityList.value.find(c => c.value === selectedCity.value) || {});
/** 选中区整体数据 */
const selectedAreaObj = (0,vue_esm_bundler/* computed */.EW)(() => areaList.value.find(a => a.value === selectedArea.value) || {});
// 自定义校验器 —— 校验省市区字段
const validateAddress = (rule, value, callback) => {
if (!selectedProvinceObj.value.label || !selectedCityObj.value.label || !selectedAreaObj.value.label) {
callback(new Error("请输入完整地址"));
} else {
callback();
}
};
// 验证码禁用判断
const codeBtnDisabled = (0,vue_esm_bundler/* computed */.EW)(() => {
return codeCanForbid.value || [null, "", undefined].includes(form.phone);
});
// 进入验证码冷却时间
const stratCodeCooling = () => {
if (codeCoolingTimer) {
clearInterval(codeCoolingTimer);
}
codeCanForbid.value = true;
codeCoolingTimer = setInterval(() => {
if (codeCooling.value === 0) {
clearInterval(codeCoolingTimer);
codeCanForbid.value = false;
codeCooling.value = 60;
codeBtnTex.value = "获取验证码";
} else {
codeBtnTex.value = `${codeCooling.value}秒后可再获取`;
codeCooling.value--;
}
}, 1000);
};
// 获取手机验证码
const getPhoneCode = () => {
request.post("/mini/getRegisteredCode", {
operationPhone: form.phone,
smsType: 2,
shopId: null,
shopName: null,
mobileVerifyCode: tempcode.value,
mobileVerifyKey: tempUuid.value
}).then(res => {
if (res.data.errno === 200) {
stratCodeCooling();
} else {
(0,message/* ElMessage */.nk)({
message: res.data.errmsg,
type: "error"
});
}
});
};
// 省市区编码补0
function normalizeCode(code) {
const str = code.toString();
if (str.length === 2) return str + "0000";
if (str.length === 4) return str + "00";
return str; // 已经是6位
}
// 注册
const register = () => {
const labelArr = [selectedProvinceObj.value.label, selectedCityObj.value.label, selectedAreaObj.value.label];
let valueArr = [selectedProvinceObj.value.value, selectedCityObj.value.value, selectedAreaObj.value.value];
valueArr = valueArr.map(item => normalizeCode(item));
form.shopArea = valueArr.join("/") + "," + labelArr.join("/");
request.post("/mini/registered", form).then(res => {
if (res.data.errno === 200) {
(0,message/* ElMessage */.nk)({
message: "注册成功",
type: "success"
});
selectedProvince.value = "";
selectedCity.value = "";
selectedArea.value = "";
Object.assign(form, defaultForm());
} else {
(0,message/* ElMessage */.nk)({
message: res.data.errmsg,
type: "error"
});
}
});
};
const rules = {
phone: [{
required: true,
message: "请输入手机号码",
trigger: "blur"
}],
code: [{
required: true,
message: "请输入验证码",
trigger: "blur"
}],
password: [{
required: true,
message: "请输入密码",
trigger: "blur"
}],
password2: [{
required: true,
message: "请再次输入手机号码",
trigger: "blur"
}],
enterpriseName: [{
required: true,
message: "请输入场馆名称",
trigger: "blur"
}],
person: [{
required: true,
message: "请输入联系人姓名",
trigger: "blur"
}],
address: [{
required: true,
validator: validateAddress,
trigger: "blur"
}]
};
function submit() {
registerForm.value.validate(valid => {
if (valid) {
register();
} else {
console.log("表单验证失败");
}
});
}
const visible = (0,vue_esm_bundler/* ref */.KR)(false);
const tempcode = (0,vue_esm_bundler/* ref */.KR)("");
const tempUuid = (0,vue_esm_bundler/* ref */.KR)("");
const codeImg = (0,vue_esm_bundler/* ref */.KR)("");
const confirmCode = () => {
visible.value = false;
getPhoneCode();
};
const getImgs = () => {
if (codeBtnTex.value == "获取验证码") {
visible.value = true;
getCode();
} else {
visible.value = false;
}
};
const getCode = () => {
tempcode.value = "";
tempUuid.value = "";
request.get("/user/kaptcha").then(res => {
codeImg.value = res.data.img;
tempUuid.value = res.data.uuid;
});
};
__expose({
submit,
form
});
return (_ctx, _cache) => {
return (0,vue_esm_bundler/* openBlock */.uX)(), (0,vue_esm_bundler/* createElementBlock */.CE)("div", _hoisted_1, [_cache[14] || (_cache[14] = (0,vue_esm_bundler/* createElementVNode */.Lk)("img", {
class: "main-bg",
src: cgrz_m_namespaceObject
}, null, -1 /* HOISTED */)), (0,vue_esm_bundler/* createElementVNode */.Lk)("div", _hoisted_2, [_cache[13] || (_cache[13] = (0,vue_esm_bundler/* createElementVNode */.Lk)("div", {
class: "body-title"
}, "申请入驻六个羽友", -1 /* HOISTED */)), (0,vue_esm_bundler/* createElementVNode */.Lk)("div", _hoisted_3, [(0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(components_form/* ElForm */.US), {
style: {
"width": "100%"
},
ref_key: "registerForm",
ref: registerForm,
model: form,
rules: rules,
"label-position": "top",
"label-width": "120px"
}, {
default: (0,vue_esm_bundler/* withCtx */.k6)(() => [(0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(components_form/* ElFormItem */.xE), {
label: "场馆名称",
prop: "enterpriseName"
}, {
default: (0,vue_esm_bundler/* withCtx */.k6)(() => [(0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(input/* ElInput */.WK), {
modelValue: form.enterpriseName,
"onUpdate:modelValue": _cache[0] || (_cache[0] = $event => form.enterpriseName = $event),
placeholder: "请输入场馆名称"
}, null, 8 /* PROPS */, ["modelValue"])]),
_: 1 /* STABLE */
}), (0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(components_form/* ElFormItem */.xE), {
label: "联系人姓名",
prop: "person"
}, {
default: (0,vue_esm_bundler/* withCtx */.k6)(() => [(0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(input/* ElInput */.WK), {
modelValue: form.person,
"onUpdate:modelValue": _cache[1] || (_cache[1] = $event => form.person = $event),
placeholder: "请输入联系人姓名"
}, null, 8 /* PROPS */, ["modelValue"])]),
_: 1 /* STABLE */
}), (0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(components_form/* ElFormItem */.xE), {
label: "场馆地址",
prop: "address"
}, {
default: (0,vue_esm_bundler/* withCtx */.k6)(() => [(0,vue_esm_bundler/* createElementVNode */.Lk)("div", _hoisted_4, [(0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(components_select/* ElSelect */.AV), {
modelValue: selectedProvince.value,
"onUpdate:modelValue": _cache[2] || (_cache[2] = $event => selectedProvince.value = $event),
placeholder: "所在省份",
onChange: handleProvinceChange
}, {
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)((0,vue_esm_bundler/* unref */.R1)(provinceList), province => {
return (0,vue_esm_bundler/* openBlock */.uX)(), (0,vue_esm_bundler/* createBlock */.Wv)((0,vue_esm_bundler/* unref */.R1)(components_select/* ElOption */.P9), {
key: province.value,
label: province.label,
value: province.value
}, null, 8 /* PROPS */, ["label", "value"]);
}), 128 /* KEYED_FRAGMENT */))]),
_: 1 /* STABLE */
}, 8 /* PROPS */, ["modelValue"]), (0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(components_select/* ElSelect */.AV), {
modelValue: selectedCity.value,
"onUpdate:modelValue": _cache[3] || (_cache[3] = $event => selectedCity.value = $event),
placeholder: "所在城市",
onChange: handleCityChange,
disabled: !selectedProvince.value
}, {
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)(cityList.value, city => {
return (0,vue_esm_bundler/* openBlock */.uX)(), (0,vue_esm_bundler/* createBlock */.Wv)((0,vue_esm_bundler/* unref */.R1)(components_select/* ElOption */.P9), {
key: city.value,
label: city.label,
value: city.value
}, null, 8 /* PROPS */, ["label", "value"]);
}), 128 /* KEYED_FRAGMENT */))]),
_: 1 /* STABLE */
}, 8 /* PROPS */, ["modelValue", "disabled"]), (0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(components_select/* ElSelect */.AV), {
modelValue: selectedArea.value,
"onUpdate:modelValue": _cache[4] || (_cache[4] = $event => selectedArea.value = $event),
placeholder: "所在区/县",
disabled: !selectedCity.value
}, {
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)(areaList.value, area => {
return (0,vue_esm_bundler/* openBlock */.uX)(), (0,vue_esm_bundler/* createBlock */.Wv)((0,vue_esm_bundler/* unref */.R1)(components_select/* ElOption */.P9), {
key: area.value,
label: area.label,
value: area.value
}, null, 8 /* PROPS */, ["label", "value"]);
}), 128 /* KEYED_FRAGMENT */))]),
_: 1 /* STABLE */
}, 8 /* PROPS */, ["modelValue", "disabled"])])]),
_: 1 /* STABLE */
}), (0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(components_form/* ElFormItem */.xE), {
label: "手机号码",
prop: "phone"
}, {
default: (0,vue_esm_bundler/* withCtx */.k6)(() => [(0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(input/* ElInput */.WK), {
modelValue: form.phone,
"onUpdate:modelValue": _cache[5] || (_cache[5] = $event => form.phone = $event),
placeholder: "请输入手机号码"
}, null, 8 /* PROPS */, ["modelValue"])]),
_: 1 /* STABLE */
}), (0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(components_form/* ElFormItem */.xE), {
label: "验证码",
prop: "code"
}, {
default: (0,vue_esm_bundler/* withCtx */.k6)(() => [(0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(input/* ElInput */.WK), {
modelValue: form.code,
"onUpdate:modelValue": _cache[8] || (_cache[8] = $event => form.code = $event),
placeholder: "请输入验证码"
}, {
append: (0,vue_esm_bundler/* withCtx */.k6)(() => [(0,vue_esm_bundler/* createCommentVNode */.Q3)(" <el-button :disabled=\"codeBtnDisabled\" @click=\"getPhoneCode\">{{ codeBtnTex }}</el-button> "), (0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(popover/* ElPopover */.Vc), {
placement: "bottom",
width: "238",
trigger: "contextmenu",
visible: visible.value,
teleported: ""
}, {
default: (0,vue_esm_bundler/* withCtx */.k6)(() => [(0,vue_esm_bundler/* createElementVNode */.Lk)("div", _hoisted_5, [(0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(input/* ElInput */.WK), {
placeholder: "请输入验证码",
modelValue: tempcode.value,
"onUpdate:modelValue": _cache[6] || (_cache[6] = $event => tempcode.value = $event),
style: {
"width": "120px"
}
}, null, 8 /* PROPS */, ["modelValue"]), (0,vue_esm_bundler/* createElementVNode */.Lk)("img", {
style: {
"width": "78px",
"height": "32px"
},
src: codeImg.value,
alt: "",
onClick: getCode
}, null, 8 /* PROPS */, _hoisted_6)]), (0,vue_esm_bundler/* createElementVNode */.Lk)("div", _hoisted_7, [(0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(components_button/* ElButton */.S2), {
size: "small",
type: "text",
onClick: _cache[7] || (_cache[7] = $event => visible.value = false)
}, {
default: (0,vue_esm_bundler/* withCtx */.k6)(() => _cache[9] || (_cache[9] = [(0,vue_esm_bundler/* createTextVNode */.eW)("取消")])),
_: 1 /* STABLE */,
__: [9]
}), (0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(components_button/* ElButton */.S2), {
type: "primary",
size: "small",
onClick: confirmCode
}, {
default: (0,vue_esm_bundler/* withCtx */.k6)(() => _cache[10] || (_cache[10] = [(0,vue_esm_bundler/* createTextVNode */.eW)("确定")])),
_: 1 /* STABLE */,
__: [10]
})])]),
reference: (0,vue_esm_bundler/* withCtx */.k6)(() => [(0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(components_button/* ElButton */.S2), {
onClick: getImgs,
disabled: codeBtnDisabled.value
}, {
default: (0,vue_esm_bundler/* withCtx */.k6)(() => [(0,vue_esm_bundler/* createTextVNode */.eW)((0,vue_esm_bundler/* toDisplayString */.v_)(codeBtnTex.value), 1 /* TEXT */)]),
_: 1 /* STABLE */
}, 8 /* PROPS */, ["disabled"])]),
_: 1 /* STABLE */
}, 8 /* PROPS */, ["visible"])]),
_: 1 /* STABLE */
}, 8 /* PROPS */, ["modelValue"])]),
_: 1 /* STABLE */
}), (0,vue_esm_bundler/* createCommentVNode */.Q3)(" <el-form-item label=\"密码\" prop=\"password\">\r\n <el-input v-model=\"form.password\" type=\"password\" show-password placeholder=\"请输入密码\"></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"重复密码\" prop=\"password2\">\r\n <el-input v-model=\"form.password2\" type=\"password\" show-password placeholder=\"请两次输入密码\"></el-input>\r\n </el-form-item> ")]),
_: 1 /* STABLE */
}, 8 /* PROPS */, ["model"]), (0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(components_button/* ElButton */.S2), {
class: "form-submit",
onClick: submit
}, {
default: (0,vue_esm_bundler/* withCtx */.k6)(() => _cache[11] || (_cache[11] = [(0,vue_esm_bundler/* createTextVNode */.eW)("提交申请")])),
_: 1 /* STABLE */,
__: [11]
}), _cache[12] || (_cache[12] = (0,vue_esm_bundler/* createElementVNode */.Lk)("div", {
class: "remark"
}, [(0,vue_esm_bundler/* createTextVNode */.eW)("提交申请后1小时内会有工作人员与您联系"), (0,vue_esm_bundler/* createElementVNode */.Lk)("br"), (0,vue_esm_bundler/* createTextVNode */.eW)("工作时间:周一至周日 9:00-18:00")], -1 /* HOISTED */))])])]);
};
}
});
;// ./src/components/vue/mobile/pages/Register.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/pages/Register.vue
/* unplugin-vue-components disabled */
;
const __exports__ = /*#__PURE__*/(0,exportHelper/* default */.A)(Registervue_type_script_setup_true_lang_js, [['__scopeId',"data-v-5da04a37"]])
/* harmony default export */ var Register = (__exports__);
;// ./src/pages/mobile/register/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: {
RegisterBody: Register,
AdPopup: AdPopup/* default */.A,
MenuPopup: MenuPopup/* default */.A
},
setup() {
(0,vue_esm_bundler/* onMounted */.sV)(async () => {});
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 {
lgyyPopup,
gkdPopup,
menuPopup,
openMenu,
openLgyy,
openGkd
};
}
}).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__(2461); });
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ }
]);
//# sourceMappingURL=mobileRegister.js.map?hash=b446ba1443bc4913f472
File diff suppressed because one or more lines are too long
+510
View File
@@ -0,0 +1,510 @@
"use strict";
(self["webpackChunkliu_official"] = self["webpackChunkliu_official"] || []).push([[224],{
/***/ 950:
/***/ (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/jquery@3.7.1/node_modules/jquery/dist/jquery.js
var jquery = __webpack_require__(7569);
// EXTERNAL MODULE: ./node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/axios.js + 48 modules
var axios = __webpack_require__(9925);
// EXTERNAL MODULE: ./node_modules/.pnpm/element-china-area-data@6.1.0/node_modules/element-china-area-data/dist/element-china-area-data.mjs
var element_china_area_data = __webpack_require__(6780);
// EXTERNAL MODULE: ./node_modules/.pnpm/element-plus@2.10.2_vue@3.5.16/node_modules/element-plus/es/components/message/index.mjs + 7 modules
var message = __webpack_require__(3966);
// EXTERNAL MODULE: ./node_modules/.pnpm/element-plus@2.10.2_vue@3.5.16/node_modules/element-plus/es/components/form/index.mjs + 8 modules
var components_form = __webpack_require__(6976);
// EXTERNAL MODULE: ./node_modules/.pnpm/element-plus@2.10.2_vue@3.5.16/node_modules/element-plus/es/components/input/index.mjs + 6 modules
var input = __webpack_require__(1112);
// EXTERNAL MODULE: ./node_modules/.pnpm/element-plus@2.10.2_vue@3.5.16/node_modules/element-plus/es/components/select/index.mjs + 25 modules
var components_select = __webpack_require__(7547);
// EXTERNAL MODULE: ./node_modules/.pnpm/element-plus@2.10.2_vue@3.5.16/node_modules/element-plus/es/components/popover/index.mjs + 7 modules
var popover = __webpack_require__(606);
// EXTERNAL MODULE: ./node_modules/.pnpm/element-plus@2.10.2_vue@3.5.16/node_modules/element-plus/es/components/button/index.mjs + 12 modules
var components_button = __webpack_require__(3035);
// EXTERNAL MODULE: ./node_modules/.pnpm/element-plus@2.10.2_vue@3.5.16/node_modules/element-plus/dist/index.css
var dist = __webpack_require__(8897);
;// ./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/register/RegisterForm.vue?vue&type=script&setup=true&lang=js
const _hoisted_1 = {
class: "form-con"
};
const _hoisted_2 = {
class: "form-item-row"
};
const _hoisted_3 = {
style: {
"display": "flex",
"align-items": "center",
"gap": "10px",
"width": "100%",
"margin-bottom": "10px"
}
};
const _hoisted_4 = ["src"];
const _hoisted_5 = {
style: {
"text-align": "right",
"margin": "0"
}
};
/* harmony default export */ var RegisterFormvue_type_script_setup_true_lang_js = ({
__name: 'RegisterForm',
props: {},
setup(__props, {
expose: __expose
}) {
const request = axios/* default */.A.create({
// @ts-ignore
baseURL: "https://room.yunvip123.cn/prod-api/room",
timeout: 60 * 1000
});
const props = __props;
const registerForm = (0,vue_esm_bundler/* ref */.KR)(null);
const codeBtnTex = (0,vue_esm_bundler/* ref */.KR)("获取验证码");
const codeCooling = (0,vue_esm_bundler/* ref */.KR)(60);
let codeCoolingTimer = null;
const codeCanForbid = (0,vue_esm_bundler/* ref */.KR)(false);
const defaultForm = () => {
return {
phone: "",
code: "",
password: "123456",
password2: "123456",
version: 0,
sourceType: 1,
enterpriseName: "",
person: "",
customId: null,
customName: "",
agentId: 8888,
agentName: "",
shopArea: "",
shopId: null,
shopName: null
};
};
const form = (0,vue_esm_bundler/* reactive */.Kh)(defaultForm());
const selectedProvince = (0,vue_esm_bundler/* ref */.KR)("");
const selectedCity = (0,vue_esm_bundler/* ref */.KR)("");
const selectedArea = (0,vue_esm_bundler/* ref */.KR)("");
// 获取省份列表(一级)
const provinceList = element_china_area_data/* regionData */.NO;
// 计算当前省份下的城市列表
const cityList = (0,vue_esm_bundler/* computed */.EW)(() => {
const province = provinceList.find(p => p.value === selectedProvince.value);
return province?.children || [];
});
// 计算当前城市下的区县列表
const areaList = (0,vue_esm_bundler/* computed */.EW)(() => {
const city = cityList.value.find(c => c.value === selectedCity.value);
return city?.children || [];
});
// 清空下级联动数据
function handleProvinceChange() {
selectedCity.value = "";
selectedArea.value = "";
}
function handleCityChange() {
selectedArea.value = "";
}
/** 选中省整体数据 */
const selectedProvinceObj = (0,vue_esm_bundler/* computed */.EW)(() => provinceList.find(p => p.value === selectedProvince.value) || {});
/** 选中市整体数据 */
const selectedCityObj = (0,vue_esm_bundler/* computed */.EW)(() => cityList.value.find(c => c.value === selectedCity.value) || {});
/** 选中区整体数据 */
const selectedAreaObj = (0,vue_esm_bundler/* computed */.EW)(() => areaList.value.find(a => a.value === selectedArea.value) || {});
// 自定义校验器 —— 校验省市区字段
const validateAddress = (rule, value, callback) => {
if (!selectedProvinceObj.value.label || !selectedCityObj.value.label || !selectedAreaObj.value.label) {
callback(new Error("请输入完整地址"));
} else {
callback();
}
};
// 验证码禁用判断
const codeBtnDisabled = (0,vue_esm_bundler/* computed */.EW)(() => {
return codeCanForbid.value || [null, "", undefined].includes(form.phone);
});
// 进入验证码冷却时间
const stratCodeCooling = () => {
if (codeCoolingTimer) {
clearInterval(codeCoolingTimer);
}
codeCanForbid.value = true;
codeCoolingTimer = setInterval(() => {
if (codeCooling.value === 0) {
clearInterval(codeCoolingTimer);
codeCanForbid.value = false;
codeCooling.value = 60;
codeBtnTex.value = "获取验证码";
} else {
codeBtnTex.value = `${codeCooling.value}秒后可再获取`;
codeCooling.value--;
}
}, 1000);
};
// 获取手机验证码
const getPhoneCode = () => {
request.post("/mini/getRegisteredCode", {
operationPhone: form.phone,
smsType: 2,
shopId: null,
shopName: null,
mobileVerifyCode: tempcode.value,
mobileVerifyKey: tempUuid.value
}).then(res => {
if (res.data.errno === 200) {
stratCodeCooling();
} else {
(0,message/* ElMessage */.nk)({
message: res.data.errmsg,
type: "error"
});
}
});
};
// 省市区编码补0
function normalizeCode(code) {
const str = code.toString();
if (str.length === 2) return str + "0000";
if (str.length === 4) return str + "00";
return str; // 已经是6位
}
// 注册
const register = () => {
const labelArr = [selectedProvinceObj.value.label, selectedCityObj.value.label, selectedAreaObj.value.label];
let valueArr = [selectedProvinceObj.value.value, selectedCityObj.value.value, selectedAreaObj.value.value];
valueArr = valueArr.map(item => normalizeCode(item));
form.shopArea = valueArr.join("/") + "," + labelArr.join("/");
request.post("/mini/registered", form).then(res => {
if (res.data.errno === 200) {
(0,message/* ElMessage */.nk)({
message: "注册成功",
type: "success"
});
selectedProvince.value = "";
selectedCity.value = "";
selectedArea.value = "";
Object.assign(form, defaultForm());
} else {
(0,message/* ElMessage */.nk)({
message: res.data.errmsg,
type: "error"
});
}
});
};
const rules = {
phone: [{
required: true,
message: "请输入手机号码",
trigger: "blur"
}],
code: [{
required: true,
message: "请输入验证码",
trigger: "blur"
}],
password: [{
required: true,
message: "请输入密码",
trigger: "blur"
}],
password2: [{
required: true,
message: "请再次输入手机号码",
trigger: "blur"
}],
enterpriseName: [{
required: true,
message: "请输入场馆名称",
trigger: "blur"
}],
person: [{
required: true,
message: "请输入联系人姓名",
trigger: "blur"
}],
address: [{
required: true,
validator: validateAddress,
trigger: "blur"
}]
};
function submit() {
registerForm.value.validate(valid => {
if (valid) {
register();
} else {
console.log("表单验证失败");
}
});
}
const visible = (0,vue_esm_bundler/* ref */.KR)(false);
const tempcode = (0,vue_esm_bundler/* ref */.KR)("");
const tempUuid = (0,vue_esm_bundler/* ref */.KR)("");
const codeImg = (0,vue_esm_bundler/* ref */.KR)("");
const confirmCode = () => {
visible.value = false;
getPhoneCode();
};
const getImgs = () => {
if (codeBtnTex.value == "获取验证码") {
visible.value = true;
getCode();
} else {
visible.value = false;
}
};
const getCode = () => {
tempcode.value = "";
tempUuid.value = "";
request.get("/user/kaptcha").then(res => {
console.log(res);
codeImg.value = res.data.img;
tempUuid.value = res.data.uuid;
});
};
__expose({
submit,
form
});
return (_ctx, _cache) => {
return (0,vue_esm_bundler/* openBlock */.uX)(), (0,vue_esm_bundler/* createElementBlock */.CE)("div", _hoisted_1, [(0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(components_form/* ElForm */.US), {
style: {
"width": "100%"
},
ref_key: "registerForm",
ref: registerForm,
model: form,
rules: rules,
"label-position": "top",
"label-width": "120px"
}, {
default: (0,vue_esm_bundler/* withCtx */.k6)(() => [(0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(components_form/* ElFormItem */.xE), {
label: "场馆名称",
prop: "enterpriseName"
}, {
default: (0,vue_esm_bundler/* withCtx */.k6)(() => [(0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(input/* ElInput */.WK), {
modelValue: form.enterpriseName,
"onUpdate:modelValue": _cache[0] || (_cache[0] = $event => form.enterpriseName = $event),
placeholder: "请输入场馆名称"
}, null, 8 /* PROPS */, ["modelValue"])]),
_: 1 /* STABLE */
}), (0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(components_form/* ElFormItem */.xE), {
label: "联系人姓名",
prop: "person"
}, {
default: (0,vue_esm_bundler/* withCtx */.k6)(() => [(0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(input/* ElInput */.WK), {
modelValue: form.person,
"onUpdate:modelValue": _cache[1] || (_cache[1] = $event => form.person = $event),
placeholder: "请输入联系人姓名"
}, null, 8 /* PROPS */, ["modelValue"])]),
_: 1 /* STABLE */
}), (0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(components_form/* ElFormItem */.xE), {
label: "场馆地址",
prop: "address"
}, {
default: (0,vue_esm_bundler/* withCtx */.k6)(() => [(0,vue_esm_bundler/* createElementVNode */.Lk)("div", _hoisted_2, [(0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(components_select/* ElSelect */.AV), {
modelValue: selectedProvince.value,
"onUpdate:modelValue": _cache[2] || (_cache[2] = $event => selectedProvince.value = $event),
placeholder: "请选择省份",
onChange: handleProvinceChange
}, {
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)((0,vue_esm_bundler/* unref */.R1)(provinceList), province => {
return (0,vue_esm_bundler/* openBlock */.uX)(), (0,vue_esm_bundler/* createBlock */.Wv)((0,vue_esm_bundler/* unref */.R1)(components_select/* ElOption */.P9), {
key: province.value,
label: province.label,
value: province.value
}, null, 8 /* PROPS */, ["label", "value"]);
}), 128 /* KEYED_FRAGMENT */))]),
_: 1 /* STABLE */
}, 8 /* PROPS */, ["modelValue"]), (0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(components_select/* ElSelect */.AV), {
modelValue: selectedCity.value,
"onUpdate:modelValue": _cache[3] || (_cache[3] = $event => selectedCity.value = $event),
placeholder: "请选择城市",
onChange: handleCityChange,
disabled: !selectedProvince.value
}, {
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)(cityList.value, city => {
return (0,vue_esm_bundler/* openBlock */.uX)(), (0,vue_esm_bundler/* createBlock */.Wv)((0,vue_esm_bundler/* unref */.R1)(components_select/* ElOption */.P9), {
key: city.value,
label: city.label,
value: city.value
}, null, 8 /* PROPS */, ["label", "value"]);
}), 128 /* KEYED_FRAGMENT */))]),
_: 1 /* STABLE */
}, 8 /* PROPS */, ["modelValue", "disabled"]), (0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(components_select/* ElSelect */.AV), {
modelValue: selectedArea.value,
"onUpdate:modelValue": _cache[4] || (_cache[4] = $event => selectedArea.value = $event),
placeholder: "请选择区/县",
disabled: !selectedCity.value
}, {
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)(areaList.value, area => {
return (0,vue_esm_bundler/* openBlock */.uX)(), (0,vue_esm_bundler/* createBlock */.Wv)((0,vue_esm_bundler/* unref */.R1)(components_select/* ElOption */.P9), {
key: area.value,
label: area.label,
value: area.value
}, null, 8 /* PROPS */, ["label", "value"]);
}), 128 /* KEYED_FRAGMENT */))]),
_: 1 /* STABLE */
}, 8 /* PROPS */, ["modelValue", "disabled"])])]),
_: 1 /* STABLE */
}), (0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(components_form/* ElFormItem */.xE), {
label: "手机号码",
prop: "phone"
}, {
default: (0,vue_esm_bundler/* withCtx */.k6)(() => [(0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(input/* ElInput */.WK), {
modelValue: form.phone,
"onUpdate:modelValue": _cache[5] || (_cache[5] = $event => form.phone = $event),
placeholder: "请输入手机号码"
}, null, 8 /* PROPS */, ["modelValue"])]),
_: 1 /* STABLE */
}), (0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(components_form/* ElFormItem */.xE), {
label: "验证码",
prop: "code"
}, {
default: (0,vue_esm_bundler/* withCtx */.k6)(() => [(0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(input/* ElInput */.WK), {
modelValue: form.code,
"onUpdate:modelValue": _cache[8] || (_cache[8] = $event => form.code = $event),
placeholder: "请输入验证码"
}, {
append: (0,vue_esm_bundler/* withCtx */.k6)(() => [(0,vue_esm_bundler/* createCommentVNode */.Q3)(" <el-button :disabled=\"codeBtnDisabled\" @click=\"getPhoneCode\">{{ codeBtnTex }}</el-button> "), (0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(popover/* ElPopover */.Vc), {
placement: "bottom",
width: "238",
trigger: "contextmenu",
visible: visible.value,
teleported: ""
}, {
default: (0,vue_esm_bundler/* withCtx */.k6)(() => [(0,vue_esm_bundler/* createElementVNode */.Lk)("div", _hoisted_3, [(0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(input/* ElInput */.WK), {
placeholder: "请输入验证码",
modelValue: tempcode.value,
"onUpdate:modelValue": _cache[6] || (_cache[6] = $event => tempcode.value = $event),
style: {
"width": "120px"
}
}, null, 8 /* PROPS */, ["modelValue"]), (0,vue_esm_bundler/* createElementVNode */.Lk)("img", {
style: {
"width": "78px",
"height": "32px"
},
src: codeImg.value,
alt: "",
onClick: getCode
}, null, 8 /* PROPS */, _hoisted_4)]), (0,vue_esm_bundler/* createElementVNode */.Lk)("div", _hoisted_5, [(0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(components_button/* ElButton */.S2), {
size: "small",
type: "text",
onClick: _cache[7] || (_cache[7] = $event => visible.value = false)
}, {
default: (0,vue_esm_bundler/* withCtx */.k6)(() => _cache[9] || (_cache[9] = [(0,vue_esm_bundler/* createTextVNode */.eW)("取消")])),
_: 1 /* STABLE */,
__: [9]
}), (0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(components_button/* ElButton */.S2), {
type: "primary",
size: "small",
onClick: confirmCode
}, {
default: (0,vue_esm_bundler/* withCtx */.k6)(() => _cache[10] || (_cache[10] = [(0,vue_esm_bundler/* createTextVNode */.eW)("确定")])),
_: 1 /* STABLE */,
__: [10]
})])]),
reference: (0,vue_esm_bundler/* withCtx */.k6)(() => [(0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(components_button/* ElButton */.S2), {
onClick: getImgs,
disabled: codeBtnDisabled.value
}, {
default: (0,vue_esm_bundler/* withCtx */.k6)(() => [(0,vue_esm_bundler/* createTextVNode */.eW)((0,vue_esm_bundler/* toDisplayString */.v_)(codeBtnTex.value), 1 /* TEXT */)]),
_: 1 /* STABLE */
}, 8 /* PROPS */, ["disabled"])]),
_: 1 /* STABLE */
}, 8 /* PROPS */, ["visible"])]),
_: 1 /* STABLE */
}, 8 /* PROPS */, ["modelValue"])]),
_: 1 /* STABLE */
}), (0,vue_esm_bundler/* createCommentVNode */.Q3)(" <el-form-item label=\"密码\" prop=\"password\">\r\n <el-input v-model=\"form.password\" type=\"password\" show-password placeholder=\"请输入密码\"></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"重复密码\" prop=\"password2\">\r\n <el-input v-model=\"form.password2\" type=\"password\" show-password placeholder=\"请两次输入密码\"></el-input>\r\n </el-form-item> ")]),
_: 1 /* STABLE */
}, 8 /* PROPS */, ["model"]), (0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(components_button/* ElButton */.S2), {
class: "form-submit",
onClick: submit
}, {
default: (0,vue_esm_bundler/* withCtx */.k6)(() => _cache[11] || (_cache[11] = [(0,vue_esm_bundler/* createTextVNode */.eW)("提交申请")])),
_: 1 /* STABLE */,
__: [11]
}), _cache[12] || (_cache[12] = (0,vue_esm_bundler/* createElementVNode */.Lk)("div", {
class: "remark"
}, [(0,vue_esm_bundler/* createTextVNode */.eW)("提交申请后1小时内会有工作人员与您联系"), (0,vue_esm_bundler/* createElementVNode */.Lk)("br"), (0,vue_esm_bundler/* createTextVNode */.eW)("工作时间:周一至周日 9:00-18:00")], -1 /* HOISTED */))]);
};
}
});
;// ./src/components/vue/register/RegisterForm.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/register/RegisterForm.vue
/* unplugin-vue-components disabled */
;
const __exports__ = /*#__PURE__*/(0,exportHelper/* default */.A)(RegisterFormvue_type_script_setup_true_lang_js, [['__scopeId',"data-v-6899443a"]])
/* harmony default export */ var RegisterForm = (__exports__);
;// ./src/pages/register/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: {
RegisterForm: RegisterForm
},
setup() {
(0,vue_esm_bundler/* onMounted */.sV)(async () => {
// const res = await request.get("/product/manage/web/page", {
// params: {
// productState: "0",
// },
// });
});
const registerForm = (0,vue_esm_bundler/* ref */.KR)(null);
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();
}
return {};
}
}).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], function() { return __webpack_exec__(950); });
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ }
]);
//# sourceMappingURL=register.js.map?hash=b446ba1443bc4913f472
File diff suppressed because one or more lines are too long
+157
View File
@@ -0,0 +1,157 @@
"use strict";
(self["webpackChunkliu_official"] = self["webpackChunkliu_official"] || []).push([[144],{
/***/ 4719:
/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2892);
/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(9925);
/* harmony import */ var _components_vue_FullPopup_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6914);
/* harmony import */ var _utils_tencentMap__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9495);
/* harmony import */ var _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(5253);
/* harmony import */ var element_plus_es_locale_lang_zh_cn__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(1279);
/* harmony import */ var _utils_areaData__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5407);
/* harmony import */ var element_plus_es__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(812);
/* harmony import */ var element_plus_es__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(2837);
/* harmony import */ var element_plus_es__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(242);
/* harmony import */ var element_plus_es__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(5597);
/* harmony import */ var element_plus_es_components_base_style_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5729);
/* harmony import */ var element_plus_es_components_pagination_style_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5360);
/* harmony import */ var element_plus_es_components_cascader_style_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(115);
/* harmony import */ var element_plus_es_components_icon_style_css__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(9573);
/* harmony import */ var element_plus_es_components_config_provider_style_css__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(2001);
const request = axios__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .A.create({
baseURL: "https://room.yunvip123.cn/prod-api/room",
timeout: 60 * 1000
});
(0,vue__WEBPACK_IMPORTED_MODULE_0__/* .createApp */ .Ef)({
components: {
FullPopup: _components_vue_FullPopup_vue__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,
ElPagination: element_plus_es__WEBPACK_IMPORTED_MODULE_10__/* .ElPagination */ .aQ,
ElCascader: element_plus_es__WEBPACK_IMPORTED_MODULE_11__/* .ElCascader */ ._m,
ElIcon: element_plus_es__WEBPACK_IMPORTED_MODULE_12__/* .ElIcon */ .tk,
HomeFilled: _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_13__/* .HomeFilled */ .oCE,
Clock: _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_13__/* .Clock */ .zD7,
Location: _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_13__/* .Location */ .aZn,
ElConfigProvider: element_plus_es__WEBPACK_IMPORTED_MODULE_14__/* .ElConfigProvider */ .H6
},
setup() {
(0,vue__WEBPACK_IMPORTED_MODULE_0__/* .onMounted */ .sV)(async () => {
setCityList();
setLocalMsg();
});
const total = (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .ref */ .KR)(0);
const currentPage = (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .ref */ .KR)(1);
const pageSize = (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .ref */ .KR)(10);
function handleCurrentChange(current) {
currentPage.value = current;
queryShopList();
window.scrollTo({
top: 0,
behavior: 'smooth'
});
}
const keyWords = (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .ref */ .KR)('');
function goDetail(shopId) {
window.location.href = `/stadium-reserve/detail.html?shopId=${shopId}`;
}
const cityList = (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .ref */ .KR)([]);
function setCityList() {
cityList.value = _utils_areaData__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A;
}
const currentCity = (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .ref */ .KR)();
let currentLocation = {};
async function setLocalMsg() {
const localMsg = await (0,_utils_tencentMap__WEBPACK_IMPORTED_MODULE_2__/* .getLocalMsg */ .d)();
currentCity.value = localMsg.currentCity;
currentLocation = {
longitude: localMsg.longitude,
latitude: localMsg.latitude
};
queryShopList();
}
const shopList = (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .ref */ .KR)([]);
function queryShopList() {
request.get('/miniBall/queryDqShopList', {
params: {
onlineState: 1,
// 1 正序 2 倒序
shopOrder: 1,
page: currentPage.value,
limit: pageSize.value,
shopName: keyWords.value,
shopArea: currentCity.value.replace('市', ''),
longitude: currentLocation.longitude,
latitude: currentLocation.latitude
}
}).then(res => {
shopList.value = res?.data?.data || [];
total.value = res?.data?.total || 0;
shopList.value.forEach(o => {
o.showImg = o.roomLogo ? o.roomLogo.split(',')[0] : '';
o.showTag = JSON.parse(o.shopTag);
});
});
}
function cityChange() {
currentPage.value = 1;
keyWords.value = '';
queryShopList();
}
const lgyyPopup = (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .ref */ .KR)(null);
function openLgyy() {
lgyyPopup.value.open();
}
const gkdPopup = (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .ref */ .KR)(null);
function openGkd() {
gkdPopup.value.open();
}
return {
shopList,
total,
currentPage,
pageSize,
keyWords,
cityList,
currentCity,
cityChange,
handleCurrentChange,
queryShopList,
goDetail,
lgyyPopup,
openLgyy,
gkdPopup,
openGkd,
zhCn: element_plus_es_locale_lang_zh_cn__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .A
};
}
}).mount("#reserveMain");
/***/ })
},
/******/ 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__(4719); });
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ }
]);
//# sourceMappingURL=stadiumReserve.js.map?hash=b446ba1443bc4913f472
File diff suppressed because one or more lines are too long
+117
View File
@@ -0,0 +1,117 @@
"use strict";
(self["webpackChunkliu_official"] = self["webpackChunkliu_official"] || []).push([[51],{
/***/ 6014:
/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2892);
/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9925);
/* harmony import */ var _components_vue_FullPopup_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6914);
/* harmony import */ var _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(5253);
/* harmony import */ var element_plus_es__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(242);
/* harmony import */ var element_plus_es_components_base_style_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5729);
/* harmony import */ var element_plus_es_components_icon_style_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9573);
const request = axios__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A.create({
baseURL: "https://room.yunvip123.cn/prod-api/room",
timeout: 60 * 1000
});
(0,vue__WEBPACK_IMPORTED_MODULE_0__/* .createApp */ .Ef)({
components: {
FullPopup: _components_vue_FullPopup_vue__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,
ElIcon: element_plus_es__WEBPACK_IMPORTED_MODULE_5__/* .ElIcon */ .tk,
Phone: _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_6__/* .Phone */ .bcf,
HomeFilled: _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_6__/* .HomeFilled */ .oCE,
Clock: _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_6__/* .Clock */ .zD7,
Location: _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_6__/* .Location */ .aZn
},
setup() {
(0,vue__WEBPACK_IMPORTED_MODULE_0__/* .onMounted */ .sV)(async () => {
const params = new URLSearchParams(window.location.search);
const id = params.get('shopId');
if (id) {
queryDetail(id);
}
});
const detail = (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .ref */ .KR)({});
const showImg = (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .ref */ .KR)('');
const imgList = (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .ref */ .KR)([]);
const imgNum = (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .ref */ .KR)(0);
function queryDetail(id) {
request.get('mini/queryRoomShop', {
params: {
shopId: id
}
}).then(async res => {
detail.value = res.data.data;
imgList.value = detail.value.roomLogo.split(',') || [];
showImg.value = imgList.value.length ? imgList.value[0] : '';
if (imgList.value.length) {
imgNum.value = 1;
}
await (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .nextTick */ .dY)();
initMap();
});
}
function imgClick(img, index) {
showImg.value = img;
imgNum.value = ++index;
}
const map = (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .ref */ .KR)(null);
const marker = (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .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__WEBPACK_IMPORTED_MODULE_0__/* .ref */ .KR)(null);
function openLgyy() {
lgyyPopup.value.open();
}
const gkdPopup = (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .ref */ .KR)(null);
function openGkd() {
gkdPopup.value.open();
}
return {
detail,
showImg,
imgList,
imgNum,
imgClick,
lgyyPopup,
openLgyy,
gkdPopup,
openGkd
};
}
}).mount("#reserveMain");
/***/ })
},
/******/ 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__(6014); });
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ }
]);
//# sourceMappingURL=stadiumReserveDetail.js.map?hash=b446ba1443bc4913f472
File diff suppressed because one or more lines are too long
+207
View File
@@ -0,0 +1,207 @@
"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
File diff suppressed because one or more lines are too long
+135
View File
@@ -0,0 +1,135 @@
"use strict";
(self["webpackChunkliu_official"] = self["webpackChunkliu_official"] || []).push([[517],{
/***/ 3476:
/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2892);
/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(9925);
/* harmony import */ var _components_vue_mobile_AdPopup_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1476);
/* harmony import */ var _components_vue_mobile_MenuPopup_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5416);
/* harmony import */ var _utils_tencentMap__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9495);
/* harmony import */ var _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(5253);
/* harmony import */ var _utils_areaData__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5407);
/* harmony import */ var element_plus_es__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(242);
/* harmony import */ var element_plus_es__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(2837);
/* harmony import */ var element_plus_es_components_base_style_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5729);
/* harmony import */ var element_plus_es_components_icon_style_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(9573);
/* harmony import */ var element_plus_es_components_cascader_style_css__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(115);
const request = axios__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .A.create({
baseURL: "https://room.yunvip123.cn/prod-api/room",
timeout: 60 * 1000
});
(0,vue__WEBPACK_IMPORTED_MODULE_0__/* .createApp */ .Ef)({
components: {
AdPopup: _components_vue_mobile_AdPopup_vue__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A,
MenuPopup: _components_vue_mobile_MenuPopup_vue__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A,
ElIcon: element_plus_es__WEBPACK_IMPORTED_MODULE_9__/* .ElIcon */ .tk,
ElCascader: element_plus_es__WEBPACK_IMPORTED_MODULE_10__/* .ElCascader */ ._m,
LocationInformation: _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_11__/* .LocationInformation */ .ewv,
Search: _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_11__/* .Search */ .vji
},
setup() {
(0,vue__WEBPACK_IMPORTED_MODULE_0__/* .onMounted */ .sV)(async () => {
setCityList();
setLocalMsg();
});
const cityList = (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .ref */ .KR)([]);
function setCityList() {
cityList.value = _utils_areaData__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A;
}
const currentCity = (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .ref */ .KR)('宜昌市');
let currentLocation = {};
async function setLocalMsg() {
const localMsg = await (0,_utils_tencentMap__WEBPACK_IMPORTED_MODULE_3__/* .getLocalMsg */ .d)();
currentCity.value = localMsg.currentCity;
currentLocation = {
longitude: localMsg.longitude,
latitude: localMsg.latitude
};
queryShopList();
}
function cityChange() {
keyWords.value = '';
queryShopList();
}
const keyWords = (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .ref */ .KR)('');
const shopList = (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .ref */ .KR)([]);
function queryShopList() {
request.get('/miniBall/queryDqShopList', {
params: {
onlineState: 1,
// 1 正序 2 倒序
shopOrder: 1,
shopName: keyWords.value,
shopArea: currentCity.value.replace('市', ''),
longitude: currentLocation.longitude,
latitude: currentLocation.latitude
}
}).then(res => {
shopList.value = res?.data?.data || [];
shopList.value.forEach(o => {
o.showImg = o.roomLogo ? o.roomLogo.split(',')[0] : '';
o.showTag = JSON.parse(o.shopTag);
});
console.log(shopList.value);
});
}
function goDetail(shopId) {
window.location.href = `/mobile/stadium-reserve/detail.html?shopId=${shopId}`;
}
const lgyyPopup = (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .ref */ .KR)(null);
function openLgyy() {
lgyyPopup.value.open();
}
const gkdPopup = (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .ref */ .KR)(null);
function openGkd() {
gkdPopup.value.open();
}
const menuPopup = (0,vue__WEBPACK_IMPORTED_MODULE_0__/* .ref */ .KR)(null);
function openMenu() {
menuPopup.value.open();
}
return {
cityList,
keyWords,
shopList,
currentCity,
cityChange,
queryShopList,
goDetail,
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__(3476); });
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ }
]);
//# sourceMappingURL=stadiumReserveM.js.map?hash=b446ba1443bc4913f472
File diff suppressed because one or more lines are too long
+103
View File
@@ -0,0 +1,103 @@
const navToggle = document.querySelector('.nav-toggle');
const mainNav = document.querySelector('.main-nav');
const dropdown = document.querySelector('.nav-dropdown');
const dropdownTrigger = document.querySelector('.dropdown-trigger');
navToggle?.addEventListener('click', () => {
const open = mainNav.classList.toggle('open');
document.body.classList.toggle('nav-open', open);
navToggle.setAttribute('aria-expanded', String(open));
});
dropdownTrigger?.addEventListener('click', () => {
const open = dropdown.classList.toggle('open');
dropdownTrigger.setAttribute('aria-expanded', String(open));
});
document.querySelectorAll('.flow-tab').forEach((tab, index) => {
tab.addEventListener('click', () => {
document.querySelectorAll('.flow-tab').forEach(item => item.classList.remove('active'));
document.querySelectorAll('.flow-list').forEach(item => item.classList.remove('active'));
tab.classList.add('active');
document.querySelectorAll('.flow-list')[index]?.classList.add('active');
});
});
document.querySelectorAll('.feature-tab').forEach((tab, index) => {
tab.setAttribute('role', 'tab');
tab.setAttribute('aria-selected', String(tab.classList.contains('active')));
tab.addEventListener('click', () => {
document.querySelectorAll('.feature-tab').forEach(item => {
item.classList.remove('active');
item.setAttribute('aria-selected', 'false');
});
document.querySelectorAll('.feature-detail').forEach(item => item.classList.remove('active'));
document.querySelectorAll('.device-state').forEach(item => {
item.classList.remove('active');
item.setAttribute('aria-hidden', 'true');
});
tab.classList.add('active');
tab.setAttribute('aria-selected', 'true');
document.querySelectorAll('.feature-detail')[index]?.classList.add('active');
const deviceState = document.querySelectorAll('.device-state')[index];
deviceState?.classList.add('active');
deviceState?.removeAttribute('aria-hidden');
});
tab.addEventListener('mouseenter', () => {
if (!tab.classList.contains('active')) tab.click();
});
});
const observer = new IntersectionObserver(entries => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('visible');
observer.unobserve(entry.target);
}
});
}, { threshold: 0.08 });
document.querySelectorAll('.reveal').forEach(item => observer.observe(item));
document.querySelector('.phone-form')?.addEventListener('submit', event => {
event.preventDefault();
const input = event.currentTarget.querySelector('input');
const button = event.currentTarget.querySelector('button');
if (!input.value.trim()) {
input.focus();
return;
}
button.textContent = '提交成功';
button.disabled = true;
});
const qrModal = document.querySelector('#qr-modal');
const qrModalClose = qrModal?.querySelector('.qr-modal-close');
let qrModalLastFocus = null;
const openQrModal = event => {
event.preventDefault();
if (!qrModal) return;
qrModalLastFocus = event.currentTarget;
qrModal.hidden = false;
document.body.classList.add('modal-open');
qrModalClose?.focus();
};
const closeQrModal = () => {
if (!qrModal || qrModal.hidden) return;
qrModal.hidden = true;
document.body.classList.remove('modal-open');
qrModalLastFocus?.focus();
};
document.querySelectorAll('.qr-trigger').forEach(trigger => {
trigger.addEventListener('click', openQrModal);
});
qrModalClose?.addEventListener('click', closeQrModal);
qrModal?.querySelector('[data-modal-close]')?.addEventListener('click', closeQrModal);
document.addEventListener('keydown', event => {
if (event.key === 'Escape') closeQrModal();
});
document.querySelectorAll('[data-link-placeholder]').forEach(link => {
link.addEventListener('click', event => event.preventDefault());
});