diff --git a/package-lock.json b/package-lock.json index 6eacf94..da6ea3d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1528,6 +1528,7 @@ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -1543,6 +1544,7 @@ "resolved": "https://registry.npmmirror.com/@electron/osx-sign/-/osx-sign-1.3.3.tgz", "integrity": "sha512-KZ8mhXvWv2rIEgMbWZ4y33bDHyUKMXnx4M0sTyPNK/vcB81ImdeY9Ggdqy0SWbMDgmbqyQ+phgejh6V3R2QuSg==", "dev": true, +<<<<<<< HEAD "license": "BSD-2-Clause", "dependencies": { "compare-version": "^0.1.2", @@ -1556,6 +1558,10 @@ "electron-osx-flat": "bin/electron-osx-flat.js", "electron-osx-sign": "bin/electron-osx-sign.js" }, +======= + "license": "MIT", + "peer": true, +>>>>>>> feature/dsw "engines": { "node": ">=12.0.0" } @@ -1565,7 +1571,12 @@ "resolved": "https://registry.npmmirror.com/@electron/packager/-/packager-18.4.4.tgz", "integrity": "sha512-fTUCmgL25WXTcFpM1M72VmFP8w3E4d+KNzWxmTDRpvwkfn/S206MAtM2cy0GF78KS9AwASMOUmlOIzCHeNxcGQ==", "dev": true, +<<<<<<< HEAD "license": "BSD-2-Clause", +======= + "license": "MIT", + "peer": true, +>>>>>>> feature/dsw "dependencies": { "@electron/asar": "^3.2.13", "@electron/get": "^3.0.0", @@ -1605,11 +1616,15 @@ "integrity": "sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==", "dev": true, "license": "MIT", +<<<<<<< HEAD "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" }, +======= + "peer": true, +>>>>>>> feature/dsw "engines": { "node": ">=14.14" } @@ -1648,7 +1663,12 @@ "resolved": "https://registry.npmmirror.com/@electron/universal/-/universal-2.0.3.tgz", "integrity": "sha512-Wn9sPYIVFRFl5HmwMJkARCCf7rqK/EurkfQ/rJZ14mHP3iYTjZSIOSVonEAnhWeAXwtw7zOekGRlc6yTtZ0t+g==", "dev": true, +<<<<<<< HEAD "license": "MIT", +======= + "license": "Apache-2.0", + "peer": true, +>>>>>>> feature/dsw "dependencies": { "@electron/asar": "^3.3.1", "@malept/cross-spawn-promise": "^2.0.0", @@ -1659,7 +1679,26 @@ "plist": "^3.1.0" }, "engines": { +<<<<<<< HEAD "node": ">=16.4" +======= + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" +>>>>>>> feature/dsw } }, "node_modules/@electron/universal/node_modules/brace-expansion": { @@ -1667,7 +1706,18 @@ "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.2.tgz", "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, +<<<<<<< HEAD "license": "MIT", +======= + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/@iconify-json/material-symbols": { + "version": "1.2.63", + "resolved": "https://registry.npmmirror.com/@iconify-json/material-symbols/-/material-symbols-1.2.63.tgz", + "integrity": "sha512-R4PS/l8K6j+dk2P2MoYFLJgfbZ4YDo6XjCOpX6b1tvX+BhiSpSOjc1b6cnb/mvWe+JWBKlt4pcvPNiAijFLPnA==", + "license": "Apache-2.0", +>>>>>>> feature/dsw "dependencies": { "balanced-match": "^1.0.0" } @@ -1858,10 +1908,25 @@ ], "dev": true, "license": "MIT", +<<<<<<< HEAD "optional": true, "os": [ "freebsd" ], +======= + "dependencies": { + "@inquirer/checkbox": "^3.0.1", + "@inquirer/confirm": "^4.0.1", + "@inquirer/editor": "^3.0.1", + "@inquirer/expand": "^3.0.1", + "@inquirer/input": "^3.0.1", + "@inquirer/number": "^2.0.1", + "@inquirer/password": "^3.0.1", + "@inquirer/rawlist": "^3.0.1", + "@inquirer/search": "^2.0.1", + "@inquirer/select": "^3.0.1" + }, +>>>>>>> feature/dsw "engines": { "node": ">=18" } @@ -4359,6 +4424,43 @@ "zod": "^4" } }, +<<<<<<< HEAD +======= + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, +>>>>>>> feature/dsw "node_modules/buffer": { "version": "5.7.1", "resolved": "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz", @@ -6141,6 +6243,7 @@ "license": "MIT", "optional": true }, +<<<<<<< HEAD "node_modules/encodeurl": { "version": "2.0.0", "resolved": "https://mirrors.cloud.tencent.com/npm/encodeurl/-/encodeurl-2.0.0.tgz", @@ -6149,6 +6252,31 @@ "license": "MIT", "engines": { "node": ">= 0.8" +======= + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmmirror.com/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" +>>>>>>> feature/dsw } }, "node_modules/end-of-stream": { @@ -11462,6 +11590,66 @@ "dev": true, "license": "MIT" }, +<<<<<<< HEAD +======= + "node_modules/schema-utils": { + "version": "4.3.3", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/schema-utils/node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/schema-utils/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/schema-utils/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, +>>>>>>> feature/dsw "node_modules/scule": { "version": "1.3.0", "resolved": "https://registry.npmmirror.com/scule/-/scule-1.3.0.tgz", @@ -13370,6 +13558,7 @@ "riscv64" ], "dev": true, +<<<<<<< HEAD "license": "MIT", "optional": true, "os": [ @@ -13377,6 +13566,12 @@ ], "engines": { "node": ">=12" +======= + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "punycode": "^2.1.0" +>>>>>>> feature/dsw } }, "node_modules/vite/node_modules/@esbuild/linux-s390x": { @@ -13473,10 +13668,24 @@ ], "dev": true, "license": "MIT", +<<<<<<< HEAD "optional": true, "os": [ "win32" ], +======= + "dependencies": { + "esbuild": "^0.27.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, +>>>>>>> feature/dsw "engines": { "node": ">=12" } @@ -13569,6 +13778,22 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, +<<<<<<< HEAD +======= + "node_modules/vite/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, +>>>>>>> feature/dsw "node_modules/vue": { "version": "3.5.30", "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.30.tgz", diff --git a/src/main/scripts/fg.md b/src/main/scripts/fg.md index 64f62dc..13ae2bf 100644 --- a/src/main/scripts/fg.md +++ b/src/main/scripts/fg.md @@ -1,3 +1,3 @@ ```html -
房型排序
全部展开  
周三(今天)
03-11
周四
03-12
周五
03-13
周六
03-14
周日
03-15
周一
03-16
周二
03-17
周三
03-18
周四
03-19
周五
03-20
周六
03-21
周日
03-22
周一
03-23
周二
03-24
雅致大床房
雅致双床房
高级标准间
榻榻米双床房
亲子房
行政套房A
豪华特色房(麻将)
豪华至尊养生汤屋(私汤)
太空舱
亲子太空舱
豪华尊享大床房(双人温泉)
和雅小筑-至尊大床房(户外泡池)
至尊养生汤屋(含私汤)
行政套房B
天伦小筑-豪华套房(含私汤)
汤墅会馆
+
显示
房型排序
全部展开  
周一(今天)
04-06
周二
04-07
周三
04-08
周四
04-09
周五
04-10
周六
04-11
周日
04-12
周一
04-13
周二
04-14
周三
04-15
周四
04-16
周五
04-17
周六
04-18
周日
04-19
雅致大床房
双早-不可退
底价子价格活动
房态
限售
卖价
底价
服务
未维护
- -
-
-
2不可退
未维护
- -
-
-
2不可退
未维护
- -
-
-
2不可退
未维护
- -
-
-
2不可退
未维护
- -
-
-
2不可退
未维护
- -
-
-
2不可退
未维护
- -
-
-
2不可退
未维护
- -
-
-
2不可退
未维护
- -
-
-
2不可退
未维护
- -
-
-
2不可退
未维护
- -
-
-
2不可退
未维护
- -
-
-
2不可退
未维护
- -
-
-
2不可退
未维护
- -
-
-
2不可退
请选择
请选择
请选择
折后卖价
预计分账金额
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
雅致双床房
高级标准间
榻榻米双床房
亲子房
行政套房A
豪华特色房(麻将)
豪华至尊养生汤屋(私汤)
太空舱
亲子太空舱
豪华尊享大床房(双人温泉)
和雅小筑-至尊大床房(户外泡池)
至尊养生汤屋(含私汤)
行政套房B
天伦小筑-豪华套房(含私汤)
汤墅会馆
``` \ No newline at end of file diff --git a/src/main/scripts/fg_trace.js b/src/main/scripts/fg_trace.js index 4f3ae8c..854123e 100644 --- a/src/main/scripts/fg_trace.js +++ b/src/main/scripts/fg_trace.js @@ -104,13 +104,17 @@ const toggleRoomByDateIndex = async (container, { roomType, dateIndex, operation } await roomAnchor.scrollIntoViewIfNeeded(); - const row = roomAnchor.locator( - "xpath=ancestor::*[.//div[contains(@class,'boardRow')]][1]", + const boardRow = roomAnchor.locator("xpath=ancestor::div[contains(@class,'boardRow')][1]"); + const dayColumns = boardRow.locator( + "xpath=.//div[contains(@class,'switchbar')]/ancestor::div[contains(@class,'flex-col')][1]", ); - const boardRow = row.locator("xpath=.//div[contains(@class,'boardRow')]").first(); - - const boardColPosition = dateIndex + 2; - const dayColumn = boardRow.locator(`xpath=./div[${boardColPosition}]`); + const dayColumnCount = await dayColumns.count(); + if (dateIndex >= dayColumnCount) { + throw new Error( + `Date column out of range for room ${roomType}: index=${dateIndex}, available=${dayColumnCount}`, + ); + } + const dayColumn = dayColumns.nth(dateIndex); const targetStateClass = operation === 'open' ? 'error' : 'success'; const expectedCurrentLabel = operation === 'open' ? '满' : '有'; diff --git a/src/main/utils/chrome/launchLocalChrome.ts b/src/main/utils/chrome/launchLocalChrome.ts index 75bd378..71578a5 100644 --- a/src/main/utils/chrome/launchLocalChrome.ts +++ b/src/main/utils/chrome/launchLocalChrome.ts @@ -46,6 +46,6 @@ export async function launchLocalChrome() { // 延迟几秒等浏览器起来 setTimeout(() => { resolve(0); - }, 1000); // 延迟1秒 + }, 3000); // 延迟3秒 }); } diff --git a/src/renderer/views/home/index.vue b/src/renderer/views/home/index.vue index 24796d2..25f4438 100644 --- a/src/renderer/views/home/index.vue +++ b/src/renderer/views/home/index.vue @@ -7,18 +7,25 @@ + +