From eefd9eb0547c311c6beccf118b8fee0f0a977127 Mon Sep 17 00:00:00 2001 From: SunWuyuan Date: Sat, 19 Apr 2025 20:29:39 +0800 Subject: [PATCH] Refactor index.vue and settings.vue for improved layout and functionality. Added URL configuration dialog and settings link generator component. Enhanced button formatting and code readability. --- 1.js | 1306 ++++++++++++++++++++++ src/components/SettingsLinkGenerator.vue | 458 ++++++++ src/pages/index.vue | 984 +++++++++++++--- src/pages/settings.vue | 9 +- src/utils/settingsLinkParser.js | 33 + 5 files changed, 2628 insertions(+), 162 deletions(-) create mode 100644 1.js create mode 100644 src/components/SettingsLinkGenerator.vue create mode 100644 src/utils/settingsLinkParser.js diff --git a/1.js b/1.js new file mode 100644 index 0000000..39074d6 --- /dev/null +++ b/1.js @@ -0,0 +1,1306 @@ +var data = { + TimeLayouts: { + "e62af04a-1ecc-44a0-8d18-5930026c87de": { + Name: "周三", + Layouts: [ + { + StartSecond: "2025-01-01T07:15:00", + EndSecond: "2025-01-01T07:50:00", + TimeType: 0, + DefaultClassId: "bd5bb994-0b2a-4938-a161-2d0861370baf", + }, + { + StartSecond: "2025-01-01T07:50:00", + EndSecond: "2025-01-01T08:00:00", + TimeType: 1, + DefaultClassId: "613a1b22-91bd-4f01-8014-49d0518d9013", + }, + { + StartSecond: "2025-01-01T08:00:00", + EndSecond: "2025-01-01T08:40:00", + TimeType: 0, + DefaultClassId: "613a1b22-91bd-4f01-8014-49d0518d9013", + }, + { + StartSecond: "2025-01-01T08:40:00", + EndSecond: "2025-01-01T08:50:00", + TimeType: 1, + DefaultClassId: "44906668-d3cd-47ff-9429-bec77799afd7", + }, + { + StartSecond: "2025-01-01T08:50:00", + EndSecond: "2025-01-01T09:30:00", + TimeType: 0, + DefaultClassId: "44906668-d3cd-47ff-9429-bec77799afd7", + }, + { + StartSecond: "2025-01-01T09:30:00", + EndSecond: "2025-01-01T10:00:00", + TimeType: 1, + DefaultClassId: "b53285cb-cff8-4201-a40a-d26f4238f8cd", + }, + { + StartSecond: "2025-01-01T10:00:00", + EndSecond: "2025-01-01T10:40:00", + TimeType: 0, + DefaultClassId: "b53285cb-cff8-4201-a40a-d26f4238f8cd", + }, + { + StartSecond: "2025-01-01T10:40:00", + EndSecond: "2025-01-01T10:50:00", + TimeType: 1, + DefaultClassId: "afafde17-4505-4608-8c37-69a5a0e1dc84", + }, + { + StartSecond: "2025-01-01T10:50:00", + EndSecond: "2025-01-01T11:30:00", + TimeType: 0, + DefaultClassId: "afafde17-4505-4608-8c37-69a5a0e1dc84", + }, + { + StartSecond: "2025-01-01T11:30:00", + EndSecond: "2025-01-01T11:40:00", + TimeType: 1, + DefaultClassId: "7139a710-066c-4082-a8c1-ae5b14d3de6d", + }, + { + StartSecond: "2025-01-01T11:40:00", + EndSecond: "2025-01-01T12:20:00", + TimeType: 0, + DefaultClassId: "7139a710-066c-4082-a8c1-ae5b14d3de6d", + }, + { + StartSecond: "2025-01-01T12:20:00", + EndSecond: "2025-01-01T14:10:00", + TimeType: 1, + DefaultClassId: "6f0afc09-ab3b-4d74-bab1-abc70520c18c", + }, + { + StartSecond: "2025-01-01T14:10:00", + EndSecond: "2025-01-01T14:50:00", + TimeType: 0, + DefaultClassId: "6f0afc09-ab3b-4d74-bab1-abc70520c18c", + }, + { + StartSecond: "2025-01-01T14:50:00", + EndSecond: "2025-01-01T15:00:00", + TimeType: 1, + DefaultClassId: "101c58b2-ff47-4a0c-ad12-5b420aab5d26", + }, + { + StartSecond: "2025-01-01T15:00:00", + EndSecond: "2025-01-01T15:40:00", + TimeType: 0, + DefaultClassId: "101c58b2-ff47-4a0c-ad12-5b420aab5d26", + }, + { + StartSecond: "2025-01-01T15:40:00", + EndSecond: "2025-01-01T15:55:00", + TimeType: 1, + DefaultClassId: "91695b82-1489-4976-857b-60e8d97c1add", + }, + { + StartSecond: "2025-01-01T15:55:00", + EndSecond: "2025-01-01T16:35:00", + TimeType: 0, + DefaultClassId: "91695b82-1489-4976-857b-60e8d97c1add", + }, + { + StartSecond: "2025-01-01T16:35:00", + EndSecond: "2025-01-01T16:45:00", + TimeType: 1, + DefaultClassId: "aad15323-9074-4cb7-8c2b-e107cd07dab5", + }, + { + StartSecond: "2025-01-01T16:45:00", + EndSecond: "2025-01-01T17:35:00", + TimeType: 0, + DefaultClassId: "aad15323-9074-4cb7-8c2b-e107cd07dab5", + }, + { + StartSecond: "2025-01-01T17:35:00", + EndSecond: "2025-01-01T18:33:00", + TimeType: 1, + DefaultClassId: "ff68f12e-55cc-4473-a113-035e52889ac1", + }, + { + StartSecond: "2025-01-01T18:33:00", + EndSecond: "2025-01-01T19:00:00", + TimeType: 0, + DefaultClassId: "ff68f12e-55cc-4473-a113-035e52889ac1", + }, + { + StartSecond: "2025-01-01T19:00:00", + EndSecond: "2025-01-01T19:00:00", + TimeType: 1, + DefaultClassId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + { + StartSecond: "2025-01-01T19:00:00", + EndSecond: "2025-01-01T20:10:00", + TimeType: 0, + DefaultClassId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + { + StartSecond: "2025-01-01T20:10:00", + EndSecond: "2025-01-01T20:30:00", + TimeType: 1, + DefaultClassId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + { + StartSecond: "2025-01-01T20:30:00", + EndSecond: "2025-01-01T21:50:00", + TimeType: 0, + DefaultClassId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + ], + }, + "5b5d2380-28d6-4553-a9fc-34a45ab1386d": { + Name: "周一", + Layouts: [ + { + StartSecond: "2025-01-01T07:15:00", + EndSecond: "2025-01-01T07:50:00", + TimeType: 0, + DefaultClassId: "bd5bb994-0b2a-4938-a161-2d0861370baf", + }, + { + StartSecond: "2025-01-01T07:50:00", + EndSecond: "2025-01-01T08:00:00", + TimeType: 1, + DefaultClassId: "afafde17-4505-4608-8c37-69a5a0e1dc84", + }, + { + StartSecond: "2025-01-01T08:00:00", + EndSecond: "2025-01-01T08:40:00", + TimeType: 0, + DefaultClassId: "afafde17-4505-4608-8c37-69a5a0e1dc84", + }, + { + StartSecond: "2025-01-01T08:40:00", + EndSecond: "2025-01-01T08:50:00", + TimeType: 1, + DefaultClassId: "6f0afc09-ab3b-4d74-bab1-abc70520c18c", + }, + { + StartSecond: "2025-01-01T08:50:00", + EndSecond: "2025-01-01T09:30:00", + TimeType: 0, + DefaultClassId: "6f0afc09-ab3b-4d74-bab1-abc70520c18c", + }, + { + StartSecond: "2025-01-01T09:30:00", + EndSecond: "2025-01-01T10:00:00", + TimeType: 1, + DefaultClassId: "20a7f150-e157-42c8-bd3d-af248e5d1eb2", + }, + { + StartSecond: "2025-01-01T10:00:00", + EndSecond: "2025-01-01T10:40:00", + TimeType: 0, + DefaultClassId: "20a7f150-e157-42c8-bd3d-af248e5d1eb2", + }, + { + StartSecond: "2025-01-01T10:40:00", + EndSecond: "2025-01-01T10:50:00", + TimeType: 1, + DefaultClassId: "3acd7d8e-1de4-41da-aa80-0158931b79d1", + }, + { + StartSecond: "2025-01-01T10:50:00", + EndSecond: "2025-01-01T11:30:00", + TimeType: 0, + DefaultClassId: "3acd7d8e-1de4-41da-aa80-0158931b79d1", + }, + { + StartSecond: "2025-01-01T11:30:00", + EndSecond: "2025-01-01T11:40:00", + TimeType: 1, + DefaultClassId: "3acd7d8e-1de4-41da-aa80-0158931b79d1", + }, + { + StartSecond: "2025-01-01T11:40:00", + EndSecond: "2025-01-01T12:20:00", + TimeType: 0, + DefaultClassId: "3acd7d8e-1de4-41da-aa80-0158931b79d1", + }, + { + StartSecond: "2025-01-01T12:20:00", + EndSecond: "2025-01-01T14:10:00", + TimeType: 1, + DefaultClassId: "91695b82-1489-4976-857b-60e8d97c1add", + }, + { + StartSecond: "2025-01-01T14:10:00", + EndSecond: "2025-01-01T14:50:00", + TimeType: 0, + DefaultClassId: "91695b82-1489-4976-857b-60e8d97c1add", + }, + { + StartSecond: "2025-01-01T14:50:00", + EndSecond: "2025-01-01T15:00:00", + TimeType: 1, + DefaultClassId: "44906668-d3cd-47ff-9429-bec77799afd7", + }, + { + StartSecond: "2025-01-01T15:00:00", + EndSecond: "2025-01-01T15:40:00", + TimeType: 0, + DefaultClassId: "44906668-d3cd-47ff-9429-bec77799afd7", + }, + { + StartSecond: "2025-01-01T15:40:00", + EndSecond: "2025-01-01T15:55:00", + TimeType: 1, + DefaultClassId: "613a1b22-91bd-4f01-8014-49d0518d9013", + }, + { + StartSecond: "2025-01-01T15:55:00", + EndSecond: "2025-01-01T16:35:00", + TimeType: 0, + DefaultClassId: "613a1b22-91bd-4f01-8014-49d0518d9013", + }, + { + StartSecond: "2025-01-01T16:35:00", + EndSecond: "2025-01-01T16:45:00", + TimeType: 1, + DefaultClassId: "aad15323-9074-4cb7-8c2b-e107cd07dab5", + }, + { + StartSecond: "2025-01-01T16:45:00", + EndSecond: "2025-01-01T17:35:00", + TimeType: 0, + DefaultClassId: "aad15323-9074-4cb7-8c2b-e107cd07dab5", + }, + { + StartSecond: "2025-01-01T17:35:00", + EndSecond: "2025-01-01T18:33:00", + TimeType: 1, + DefaultClassId: "ff68f12e-55cc-4473-a113-035e52889ac1", + }, + { + StartSecond: "2025-01-01T18:33:00", + EndSecond: "2025-01-01T19:00:00", + TimeType: 0, + DefaultClassId: "ff68f12e-55cc-4473-a113-035e52889ac1", + }, + { + StartSecond: "2025-01-01T19:00:00", + EndSecond: "2025-01-01T19:00:00", + TimeType: 1, + DefaultClassId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + { + StartSecond: "2025-01-01T19:00:00", + EndSecond: "2025-01-01T20:10:00", + TimeType: 0, + DefaultClassId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + { + StartSecond: "2025-01-01T20:10:00", + EndSecond: "2025-01-01T20:30:00", + TimeType: 1, + DefaultClassId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + { + StartSecond: "2025-01-01T20:30:00", + EndSecond: "2025-01-01T21:50:00", + TimeType: 0, + DefaultClassId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + ], + }, + "8147fb34-c393-44b5-8680-a7e010aee3dc": { + Name: "周四", + Layouts: [ + { + StartSecond: "2025-01-01T07:15:00", + EndSecond: "2025-01-01T07:50:00", + TimeType: 0, + DefaultClassId: "bd5bb994-0b2a-4938-a161-2d0861370baf", + }, + { + StartSecond: "2025-01-01T07:50:00", + EndSecond: "2025-01-01T08:00:00", + TimeType: 1, + DefaultClassId: "613a1b22-91bd-4f01-8014-49d0518d9013", + }, + { + StartSecond: "2025-01-01T08:00:00", + EndSecond: "2025-01-01T08:40:00", + TimeType: 0, + DefaultClassId: "613a1b22-91bd-4f01-8014-49d0518d9013", + }, + { + StartSecond: "2025-01-01T08:40:00", + EndSecond: "2025-01-01T08:50:00", + TimeType: 1, + DefaultClassId: "44906668-d3cd-47ff-9429-bec77799afd7", + }, + { + StartSecond: "2025-01-01T08:50:00", + EndSecond: "2025-01-01T09:30:00", + TimeType: 0, + DefaultClassId: "44906668-d3cd-47ff-9429-bec77799afd7", + }, + { + StartSecond: "2025-01-01T09:30:00", + EndSecond: "2025-01-01T10:00:00", + TimeType: 1, + DefaultClassId: "afafde17-4505-4608-8c37-69a5a0e1dc84", + }, + { + StartSecond: "2025-01-01T10:00:00", + EndSecond: "2025-01-01T10:40:00", + TimeType: 0, + DefaultClassId: "afafde17-4505-4608-8c37-69a5a0e1dc84", + }, + { + StartSecond: "2025-01-01T10:40:00", + EndSecond: "2025-01-01T10:50:00", + TimeType: 1, + DefaultClassId: "afafde17-4505-4608-8c37-69a5a0e1dc84", + }, + { + StartSecond: "2025-01-01T10:50:00", + EndSecond: "2025-01-01T11:30:00", + TimeType: 0, + DefaultClassId: "afafde17-4505-4608-8c37-69a5a0e1dc84", + }, + { + StartSecond: "2025-01-01T11:30:00", + EndSecond: "2025-01-01T11:40:00", + TimeType: 1, + DefaultClassId: "20a7f150-e157-42c8-bd3d-af248e5d1eb2", + }, + { + StartSecond: "2025-01-01T11:40:00", + EndSecond: "2025-01-01T12:20:00", + TimeType: 0, + DefaultClassId: "20a7f150-e157-42c8-bd3d-af248e5d1eb2", + }, + { + StartSecond: "2025-01-01T12:20:00", + EndSecond: "2025-01-01T14:10:00", + TimeType: 1, + DefaultClassId: "7fda5640-4afe-49ef-aa1b-951440a16688", + }, + { + StartSecond: "2025-01-01T14:10:00", + EndSecond: "2025-01-01T14:50:00", + TimeType: 0, + DefaultClassId: "7fda5640-4afe-49ef-aa1b-951440a16688", + }, + { + StartSecond: "2025-01-01T14:50:00", + EndSecond: "2025-01-01T15:00:00", + TimeType: 1, + DefaultClassId: "b53285cb-cff8-4201-a40a-d26f4238f8cd", + }, + { + StartSecond: "2025-01-01T15:00:00", + EndSecond: "2025-01-01T15:40:00", + TimeType: 0, + DefaultClassId: "b53285cb-cff8-4201-a40a-d26f4238f8cd", + }, + { + StartSecond: "2025-01-01T15:40:00", + EndSecond: "2025-01-01T15:55:00", + TimeType: 1, + DefaultClassId: "18551a65-dcaf-4973-8136-d94ba967d3a5", + }, + { + StartSecond: "2025-01-01T15:55:00", + EndSecond: "2025-01-01T16:35:00", + TimeType: 0, + DefaultClassId: "18551a65-dcaf-4973-8136-d94ba967d3a5", + }, + { + StartSecond: "2025-01-01T16:35:00", + EndSecond: "2025-01-01T16:45:00", + TimeType: 1, + DefaultClassId: "aad15323-9074-4cb7-8c2b-e107cd07dab5", + }, + { + StartSecond: "2025-01-01T16:45:00", + EndSecond: "2025-01-01T17:35:00", + TimeType: 0, + DefaultClassId: "aad15323-9074-4cb7-8c2b-e107cd07dab5", + }, + { + StartSecond: "2025-01-01T17:35:00", + EndSecond: "2025-01-01T18:33:00", + TimeType: 1, + DefaultClassId: "ff68f12e-55cc-4473-a113-035e52889ac1", + }, + { + StartSecond: "2025-01-01T18:33:00", + EndSecond: "2025-01-01T19:00:00", + TimeType: 0, + DefaultClassId: "ff68f12e-55cc-4473-a113-035e52889ac1", + }, + { + StartSecond: "2025-01-01T19:00:00", + EndSecond: "2025-01-01T19:00:00", + TimeType: 1, + DefaultClassId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + { + StartSecond: "2025-01-01T19:00:00", + EndSecond: "2025-01-01T20:10:00", + TimeType: 0, + DefaultClassId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + { + StartSecond: "2025-01-01T20:10:00", + EndSecond: "2025-01-01T20:30:00", + TimeType: 1, + DefaultClassId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + { + StartSecond: "2025-01-01T20:30:00", + EndSecond: "2025-01-01T21:50:00", + TimeType: 0, + DefaultClassId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + ], + }, + "1606b47d-bcf7-40e9-bb61-74725ec6623b": { + Name: "周五", + Layouts: [ + { + StartSecond: "2025-01-01T07:15:00", + EndSecond: "2025-01-01T07:50:00", + TimeType: 0, + DefaultClassId: "bd5bb994-0b2a-4938-a161-2d0861370baf", + }, + { + StartSecond: "2025-01-01T07:50:00", + EndSecond: "2025-01-01T08:00:00", + TimeType: 1, + DefaultClassId: "44906668-d3cd-47ff-9429-bec77799afd7", + }, + { + StartSecond: "2025-01-01T08:00:00", + EndSecond: "2025-01-01T08:40:00", + TimeType: 0, + DefaultClassId: "44906668-d3cd-47ff-9429-bec77799afd7", + }, + { + StartSecond: "2025-01-01T08:40:00", + EndSecond: "2025-01-01T08:50:00", + TimeType: 1, + DefaultClassId: "613a1b22-91bd-4f01-8014-49d0518d9013", + }, + { + StartSecond: "2025-01-01T08:50:00", + EndSecond: "2025-01-01T09:30:00", + TimeType: 0, + DefaultClassId: "613a1b22-91bd-4f01-8014-49d0518d9013", + }, + { + StartSecond: "2025-01-01T09:30:00", + EndSecond: "2025-01-01T10:00:00", + TimeType: 1, + DefaultClassId: "afafde17-4505-4608-8c37-69a5a0e1dc84", + }, + { + StartSecond: "2025-01-01T10:00:00", + EndSecond: "2025-01-01T10:40:00", + TimeType: 0, + DefaultClassId: "afafde17-4505-4608-8c37-69a5a0e1dc84", + }, + { + StartSecond: "2025-01-01T10:40:00", + EndSecond: "2025-01-01T10:50:00", + TimeType: 1, + DefaultClassId: "7139a710-066c-4082-a8c1-ae5b14d3de6d", + }, + { + StartSecond: "2025-01-01T10:50:00", + EndSecond: "2025-01-01T11:30:00", + TimeType: 0, + DefaultClassId: "7139a710-066c-4082-a8c1-ae5b14d3de6d", + }, + { + StartSecond: "2025-01-01T11:30:00", + EndSecond: "2025-01-01T11:40:00", + TimeType: 1, + DefaultClassId: "91695b82-1489-4976-857b-60e8d97c1add", + }, + { + StartSecond: "2025-01-01T11:40:00", + EndSecond: "2025-01-01T12:20:00", + TimeType: 0, + DefaultClassId: "91695b82-1489-4976-857b-60e8d97c1add", + }, + { + StartSecond: "2025-01-01T12:20:00", + EndSecond: "2025-01-01T14:10:00", + TimeType: 1, + DefaultClassId: "a6ef8ac1-9edd-4b39-8cee-4d278af97d78", + }, + { + StartSecond: "2025-01-01T14:10:00", + EndSecond: "2025-01-01T14:50:00", + TimeType: 0, + DefaultClassId: "a6ef8ac1-9edd-4b39-8cee-4d278af97d78", + }, + { + StartSecond: "2025-01-01T14:50:00", + EndSecond: "2025-01-01T15:00:00", + TimeType: 1, + DefaultClassId: "6f0afc09-ab3b-4d74-bab1-abc70520c18c", + }, + { + StartSecond: "2025-01-01T15:00:00", + EndSecond: "2025-01-01T15:40:00", + TimeType: 0, + DefaultClassId: "6f0afc09-ab3b-4d74-bab1-abc70520c18c", + }, + { + StartSecond: "2025-01-01T15:40:00", + EndSecond: "2025-01-01T15:55:00", + TimeType: 1, + DefaultClassId: "fcd17208-c55b-45e7-b224-da7292900584", + }, + { + StartSecond: "2025-01-01T15:55:00", + EndSecond: "2025-01-01T16:35:00", + TimeType: 0, + DefaultClassId: "fcd17208-c55b-45e7-b224-da7292900584", + }, + { + StartSecond: "2025-01-01T16:35:00", + EndSecond: "2025-01-01T16:45:00", + TimeType: 1, + DefaultClassId: "aad15323-9074-4cb7-8c2b-e107cd07dab5", + }, + { + StartSecond: "2025-01-01T16:45:00", + EndSecond: "2025-01-01T17:35:00", + TimeType: 0, + DefaultClassId: "aad15323-9074-4cb7-8c2b-e107cd07dab5", + }, + { + StartSecond: "2025-01-01T17:35:00", + EndSecond: "2025-01-01T18:33:00", + TimeType: 1, + DefaultClassId: "ff68f12e-55cc-4473-a113-035e52889ac1", + }, + { + StartSecond: "2025-01-01T18:33:00", + EndSecond: "2025-01-01T19:00:00", + TimeType: 0, + DefaultClassId: "ff68f12e-55cc-4473-a113-035e52889ac1", + }, + { + StartSecond: "2025-01-01T19:00:00", + EndSecond: "2025-01-01T19:00:00", + TimeType: 1, + DefaultClassId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + { + StartSecond: "2025-01-01T19:00:00", + EndSecond: "2025-01-01T20:10:00", + TimeType: 0, + DefaultClassId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + { + StartSecond: "2025-01-01T20:10:00", + EndSecond: "2025-01-01T20:30:00", + TimeType: 1, + DefaultClassId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + { + StartSecond: "2025-01-01T20:30:00", + EndSecond: "2025-01-01T21:50:00", + TimeType: 0, + DefaultClassId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + ], + }, + "252ee48c-c566-46c3-aad9-0fbe2fbb83c6": { + Name: "周二", + Layouts: [ + { + StartSecond: "2025-01-01T07:15:00", + EndSecond: "2025-01-01T07:50:00", + TimeType: 0, + DefaultClassId: "bd5bb994-0b2a-4938-a161-2d0861370baf", + }, + { + StartSecond: "2025-01-01T07:50:00", + EndSecond: "2025-01-01T08:00:00", + TimeType: 1, + DefaultClassId: "44906668-d3cd-47ff-9429-bec77799afd7", + }, + { + StartSecond: "2025-01-01T08:00:00", + EndSecond: "2025-01-01T08:40:00", + TimeType: 0, + DefaultClassId: "44906668-d3cd-47ff-9429-bec77799afd7", + }, + { + StartSecond: "2025-01-01T08:40:00", + EndSecond: "2025-01-01T08:50:00", + TimeType: 1, + DefaultClassId: "613a1b22-91bd-4f01-8014-49d0518d9013", + }, + { + StartSecond: "2025-01-01T08:50:00", + EndSecond: "2025-01-01T09:30:00", + TimeType: 0, + DefaultClassId: "613a1b22-91bd-4f01-8014-49d0518d9013", + }, + { + StartSecond: "2025-01-01T09:30:00", + EndSecond: "2025-01-01T10:00:00", + TimeType: 1, + DefaultClassId: "18551a65-dcaf-4973-8136-d94ba967d3a5", + }, + { + StartSecond: "2025-01-01T10:00:00", + EndSecond: "2025-01-01T10:40:00", + TimeType: 0, + DefaultClassId: "18551a65-dcaf-4973-8136-d94ba967d3a5", + }, + { + StartSecond: "2025-01-01T10:40:00", + EndSecond: "2025-01-01T10:50:00", + TimeType: 1, + DefaultClassId: "5cd294f7-6b1d-4eea-806f-de4d7a517456", + }, + { + StartSecond: "2025-01-01T10:50:00", + EndSecond: "2025-01-01T11:30:00", + TimeType: 0, + DefaultClassId: "5cd294f7-6b1d-4eea-806f-de4d7a517456", + }, + { + StartSecond: "2025-01-01T11:30:00", + EndSecond: "2025-01-01T11:40:00", + TimeType: 1, + DefaultClassId: "afafde17-4505-4608-8c37-69a5a0e1dc84", + }, + { + StartSecond: "2025-01-01T11:40:00", + EndSecond: "2025-01-01T12:20:00", + TimeType: 0, + DefaultClassId: "afafde17-4505-4608-8c37-69a5a0e1dc84", + }, + { + StartSecond: "2025-01-01T12:20:00", + EndSecond: "2025-01-01T14:10:00", + TimeType: 1, + DefaultClassId: "6f0afc09-ab3b-4d74-bab1-abc70520c18c", + }, + { + StartSecond: "2025-01-01T14:10:00", + EndSecond: "2025-01-01T14:50:00", + TimeType: 0, + DefaultClassId: "6f0afc09-ab3b-4d74-bab1-abc70520c18c", + }, + { + StartSecond: "2025-01-01T14:50:00", + EndSecond: "2025-01-01T15:00:00", + TimeType: 1, + DefaultClassId: "afafde17-4505-4608-8c37-69a5a0e1dc84", + }, + { + StartSecond: "2025-01-01T15:00:00", + EndSecond: "2025-01-01T15:40:00", + TimeType: 0, + DefaultClassId: "afafde17-4505-4608-8c37-69a5a0e1dc84", + }, + { + StartSecond: "2025-01-01T15:40:00", + EndSecond: "2025-01-01T15:55:00", + TimeType: 1, + DefaultClassId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + { + StartSecond: "2025-01-01T15:55:00", + EndSecond: "2025-01-01T16:35:00", + TimeType: 0, + DefaultClassId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + { + StartSecond: "2025-01-01T16:35:00", + EndSecond: "2025-01-01T16:45:00", + TimeType: 1, + DefaultClassId: "aad15323-9074-4cb7-8c2b-e107cd07dab5", + }, + { + StartSecond: "2025-01-01T16:45:00", + EndSecond: "2025-01-01T17:35:00", + TimeType: 0, + DefaultClassId: "aad15323-9074-4cb7-8c2b-e107cd07dab5", + }, + { + StartSecond: "2025-01-01T17:35:00", + EndSecond: "2025-01-01T18:33:00", + TimeType: 1, + DefaultClassId: "ff68f12e-55cc-4473-a113-035e52889ac1", + }, + { + StartSecond: "2025-01-01T18:33:00", + EndSecond: "2025-01-01T19:00:00", + TimeType: 0, + DefaultClassId: "ff68f12e-55cc-4473-a113-035e52889ac1", + }, + { + StartSecond: "2025-01-01T19:00:00", + EndSecond: "2025-01-01T19:00:00", + TimeType: 1, + DefaultClassId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + { + StartSecond: "2025-01-01T19:00:00", + EndSecond: "2025-01-01T20:10:00", + TimeType: 0, + DefaultClassId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + { + StartSecond: "2025-01-01T20:10:00", + EndSecond: "2025-01-01T20:30:00", + TimeType: 1, + DefaultClassId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + { + StartSecond: "2025-01-01T20:30:00", + EndSecond: "2025-01-01T21:50:00", + TimeType: 0, + DefaultClassId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + ], + }, + }, + ClassPlans: { + "44d303f3-4fe4-4dc9-944f-5e9d8d92e35c": { + TimeLayoutId: "e62af04a-1ecc-44a0-8d18-5930026c87de", + TimeRule: { + WeekDay: 3, + WeekCountDiv: 0, + WeekCountDivTotal: 0, + IsActive: false, + }, + Classes: [ + { + SubjectId: "bd5bb994-0b2a-4938-a161-2d0861370baf", + }, + { + SubjectId: "613a1b22-91bd-4f01-8014-49d0518d9013", + }, + { + SubjectId: "44906668-d3cd-47ff-9429-bec77799afd7", + }, + { + SubjectId: "b53285cb-cff8-4201-a40a-d26f4238f8cd", + }, + { + SubjectId: "afafde17-4505-4608-8c37-69a5a0e1dc84", + }, + { + SubjectId: "7139a710-066c-4082-a8c1-ae5b14d3de6d", + }, + { + SubjectId: "6f0afc09-ab3b-4d74-bab1-abc70520c18c", + }, + { + SubjectId: "101c58b2-ff47-4a0c-ad12-5b420aab5d26", + }, + { + SubjectId: "91695b82-1489-4976-857b-60e8d97c1add", + }, + { + SubjectId: "aad15323-9074-4cb7-8c2b-e107cd07dab5", + }, + { + SubjectId: "ff68f12e-55cc-4473-a113-035e52889ac1", + }, + { + SubjectId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + { + SubjectId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + ], + Name: "周三", + IsOverlay: false, + IsEnabled: true, + }, + "a190110c-ee40-4f7d-a3fc-556fb82c7982": { + TimeLayoutId: "5b5d2380-28d6-4553-a9fc-34a45ab1386d", + TimeRule: { + WeekDay: 1, + WeekCountDiv: 0, + WeekCountDivTotal: 0, + IsActive: false, + }, + Classes: [ + { + SubjectId: "bd5bb994-0b2a-4938-a161-2d0861370baf", + }, + { + SubjectId: "afafde17-4505-4608-8c37-69a5a0e1dc84", + }, + { + SubjectId: "6f0afc09-ab3b-4d74-bab1-abc70520c18c", + }, + { + SubjectId: "20a7f150-e157-42c8-bd3d-af248e5d1eb2", + }, + { + SubjectId: "3acd7d8e-1de4-41da-aa80-0158931b79d1", + }, + { + SubjectId: "3acd7d8e-1de4-41da-aa80-0158931b79d1", + }, + { + SubjectId: "91695b82-1489-4976-857b-60e8d97c1add", + }, + { + SubjectId: "44906668-d3cd-47ff-9429-bec77799afd7", + }, + { + SubjectId: "613a1b22-91bd-4f01-8014-49d0518d9013", + }, + { + SubjectId: "aad15323-9074-4cb7-8c2b-e107cd07dab5", + }, + { + SubjectId: "ff68f12e-55cc-4473-a113-035e52889ac1", + }, + { + SubjectId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + { + SubjectId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + ], + Name: "周一", + IsOverlay: false, + IsEnabled: true, + }, + "82f5b5a9-360e-4561-8695-1f8b1aad41ec": { + TimeLayoutId: "8147fb34-c393-44b5-8680-a7e010aee3dc", + TimeRule: { + WeekDay: 4, + WeekCountDiv: 0, + WeekCountDivTotal: 0, + IsActive: false, + }, + Classes: [ + { + SubjectId: "bd5bb994-0b2a-4938-a161-2d0861370baf", + }, + { + SubjectId: "613a1b22-91bd-4f01-8014-49d0518d9013", + }, + { + SubjectId: "44906668-d3cd-47ff-9429-bec77799afd7", + }, + { + SubjectId: "afafde17-4505-4608-8c37-69a5a0e1dc84", + }, + { + SubjectId: "afafde17-4505-4608-8c37-69a5a0e1dc84", + }, + { + SubjectId: "20a7f150-e157-42c8-bd3d-af248e5d1eb2", + }, + { + SubjectId: "7fda5640-4afe-49ef-aa1b-951440a16688", + }, + { + SubjectId: "b53285cb-cff8-4201-a40a-d26f4238f8cd", + }, + { + SubjectId: "18551a65-dcaf-4973-8136-d94ba967d3a5", + }, + { + SubjectId: "aad15323-9074-4cb7-8c2b-e107cd07dab5", + }, + { + SubjectId: "ff68f12e-55cc-4473-a113-035e52889ac1", + }, + { + SubjectId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + { + SubjectId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + ], + Name: "周四", + IsOverlay: false, + IsEnabled: true, + }, + "2d5570b7-a6ef-45bd-be65-538f5bc13e8d": { + TimeLayoutId: "1606b47d-bcf7-40e9-bb61-74725ec6623b", + TimeRule: { + WeekDay: 5, + WeekCountDiv: 0, + WeekCountDivTotal: 0, + IsActive: false, + }, + Classes: [ + { + SubjectId: "bd5bb994-0b2a-4938-a161-2d0861370baf", + }, + { + SubjectId: "44906668-d3cd-47ff-9429-bec77799afd7", + }, + { + SubjectId: "613a1b22-91bd-4f01-8014-49d0518d9013", + }, + { + SubjectId: "afafde17-4505-4608-8c37-69a5a0e1dc84", + }, + { + SubjectId: "7139a710-066c-4082-a8c1-ae5b14d3de6d", + }, + { + SubjectId: "91695b82-1489-4976-857b-60e8d97c1add", + }, + { + SubjectId: "a6ef8ac1-9edd-4b39-8cee-4d278af97d78", + }, + { + SubjectId: "6f0afc09-ab3b-4d74-bab1-abc70520c18c", + }, + { + SubjectId: "fcd17208-c55b-45e7-b224-da7292900584", + }, + { + SubjectId: "aad15323-9074-4cb7-8c2b-e107cd07dab5", + }, + { + SubjectId: "ff68f12e-55cc-4473-a113-035e52889ac1", + }, + { + SubjectId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + { + SubjectId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + ], + Name: "周五", + IsOverlay: false, + IsEnabled: true, + }, + "cd3d6332-40f4-4691-93fd-e49228469218": { + TimeLayoutId: "252ee48c-c566-46c3-aad9-0fbe2fbb83c6", + TimeRule: { + WeekDay: 2, + WeekCountDiv: 0, + WeekCountDivTotal: 0, + IsActive: false, + }, + Classes: [ + { + SubjectId: "bd5bb994-0b2a-4938-a161-2d0861370baf", + }, + { + SubjectId: "44906668-d3cd-47ff-9429-bec77799afd7", + }, + { + SubjectId: "613a1b22-91bd-4f01-8014-49d0518d9013", + }, + { + SubjectId: "18551a65-dcaf-4973-8136-d94ba967d3a5", + }, + { + SubjectId: "5cd294f7-6b1d-4eea-806f-de4d7a517456", + }, + { + SubjectId: "afafde17-4505-4608-8c37-69a5a0e1dc84", + }, + { + SubjectId: "6f0afc09-ab3b-4d74-bab1-abc70520c18c", + }, + { + SubjectId: "afafde17-4505-4608-8c37-69a5a0e1dc84", + }, + { + SubjectId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + { + SubjectId: "aad15323-9074-4cb7-8c2b-e107cd07dab5", + }, + { + SubjectId: "ff68f12e-55cc-4473-a113-035e52889ac1", + }, + { + SubjectId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + { + SubjectId: "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4", + }, + ], + Name: "周二", + IsOverlay: false, + IsEnabled: true, + }, + }, + Subjects: { + "44906668-d3cd-47ff-9429-bec77799afd7": { + Name: "语文", + Initial: "语", + TeacherName: "彤", + IsOutDoor: false, + }, + "afafde17-4505-4608-8c37-69a5a0e1dc84": { + Name: "数学", + Initial: "数", + TeacherName: "潘", + IsOutDoor: false, + }, + "613a1b22-91bd-4f01-8014-49d0518d9013": { + Name: "英语", + Initial: "英", + TeacherName: "黄", + IsOutDoor: false, + }, + "7139a710-066c-4082-a8c1-ae5b14d3de6d": { + Name: "历史", + Initial: "历", + TeacherName: "刘", + IsOutDoor: false, + }, + "18551a65-dcaf-4973-8136-d94ba967d3a5": { + Name: "政治", + Initial: "政", + TeacherName: "赵", + IsOutDoor: false, + }, + "6f0afc09-ab3b-4d74-bab1-abc70520c18c": { + Name: "物理", + Initial: "物", + TeacherName: "刘", + IsOutDoor: false, + }, + "91695b82-1489-4976-857b-60e8d97c1add": { + Name: "化学", + Initial: "化", + TeacherName: "桃子", + IsOutDoor: false, + }, + "20a7f150-e157-42c8-bd3d-af248e5d1eb2": { + Name: "生物", + Initial: "生", + TeacherName: "佳姐", + IsOutDoor: false, + }, + "b53285cb-cff8-4201-a40a-d26f4238f8cd": { + Name: "地理", + Initial: "地", + TeacherName: "曹嗲", + IsOutDoor: false, + }, + "101c58b2-ff47-4a0c-ad12-5b420aab5d26": { + Name: "信息技术", + Initial: "信", + TeacherName: "", + IsOutDoor: false, + }, + "3acd7d8e-1de4-41da-aa80-0158931b79d1": { + Name: "体育", + Initial: "体", + TeacherName: "", + IsOutDoor: false, + }, + "f8bf30f9-aff5-47c3-9bbc-dc4746a4b4d4": { + Name: "自习", + Initial: "自", + TeacherName: "", + IsOutDoor: false, + }, + "6c3ff6dd-0a8d-49f0-a6a9-bca43df01495": { + Name: "通用技术", + Initial: "技", + TeacherName: "", + IsOutDoor: false, + }, + "a6ef8ac1-9edd-4b39-8cee-4d278af97d78": { + Name: "音乐", + Initial: "音", + TeacherName: "", + IsOutDoor: false, + }, + "7fda5640-4afe-49ef-aa1b-951440a16688": { + Name: "美术", + Initial: "美", + TeacherName: "", + IsOutDoor: false, + }, + "2167f915-6b6b-480d-87b8-42d4a15e5831": { + Name: "选修课", + Initial: "选", + TeacherName: "", + IsOutDoor: false, + }, + "9e2c6e18-e5e9-4c80-a1fe-ef0e3e3e886f": { + Name: "社团", + Initial: "社", + TeacherName: "", + IsOutDoor: false, + }, + "5cd294f7-6b1d-4eea-806f-de4d7a517456": { + Name: "心理", + Initial: "心", + TeacherName: "流萤", + IsOutDoor: false, + }, + "bd5bb994-0b2a-4938-a161-2d0861370baf": { + Name: "早读", + Initial: "早", + TeacherName: "", + IsOutDoor: false, + }, + "fcd17208-c55b-45e7-b224-da7292900584": { + Name: "班会", + Initial: "班", + TeacherName: "桃子", + IsOutDoor: false, + }, + "8643c014-494e-46e4-9aac-d921328f5aa7": { + Name: "周测", + Initial: "测", + TeacherName: "", + IsOutDoor: false, + }, + "ff68f12e-55cc-4473-a113-035e52889ac1": { + Name: "听力", + Initial: "听", + TeacherName: "", + IsOutDoor: false, + }, + "aad15323-9074-4cb7-8c2b-e107cd07dab5": { + Name: "答疑", + Initial: "答", + TeacherName: "random", + IsOutDoor: false, + }, + "a8d47e53-9594-499e-9865-7f8c07bc87c5": { + Name: "阅读", + Initial: "阅", + TeacherName: "", + IsOutDoor: false, + }, + "ffbbb229-dc9d-429d-a6f9-54e69b44aa9e": { + Name: "考试", + Initial: "考", + TeacherName: "", + IsOutDoor: false, + }, + "03d44734-a2ae-4362-ba07-3e4eff4cb1ff": { + Name: "-", + Initial: "", + TeacherName: "", + IsOutDoor: false, + }, + }, + extraKey: {}, +}; +import fs from "fs"; + +// 星期映射表 +const weekdayMap = { + 周一: 1, + 周二: 2, + 周三: 3, + 周四: 4, + 周五: 5, + 周六: 6, + 周日: 7, +}; + +// Function to replace DefaultClassId with course names and add teacher information +function processScheduleData(data) { + const subjects = data.Subjects; + const timeLayouts = data.TimeLayouts; + + console.log("开始处理课程数据..."); + + // 统计数据存储 + const dailyStats = {}; + + for (const layoutId in timeLayouts) { + const layout = timeLayouts[layoutId]; + const weekday = weekdayMap[layout.Name]; + console.log(`\n处理 ${layout.Name}(星期${weekday}) 的课程数据...`); + + // 初始化每日统计 + dailyStats[layout.Name] = { + weekday: weekday, + courses: [], // 改为数组以保持顺序 + totalClasses: 0, + }; + + let currentPeriod = 0; // 用于追踪当前是第几节课 + + // 按顺序处理课程 + layout.Layouts.forEach((timeSlot) => { + const classId = timeSlot.DefaultClassId; + if (subjects[classId] && timeSlot.TimeType === 0) { + // 只处理正课时间 + currentPeriod++; // 递增课程节数 + const subject = subjects[classId]; + + // 添加课程信息 + const courseInfo = { + name: subject.Name, + teacher: subject.TeacherName || "未指定", + location: subject.IsOutDoor ? "户外" : "教室", + period: currentPeriod, + startTime: timeSlot.StartSecond.substr(11, 5), + endTime: timeSlot.EndSecond.substr(11, 5), + }; + + dailyStats[layout.Name].courses.push(courseInfo); + dailyStats[layout.Name].totalClasses++; + + console.log( + `第${courseInfo.period}节 ${courseInfo.startTime}-${courseInfo.endTime}: ${subject.Name} - ${courseInfo.teacher} - ${courseInfo.location}` + ); + } + }); + } + + // 生成CSV数据 + console.log("\n生成CSV数据..."); + let csvContent = "课程名称,星期,开始节数,结束节数,老师,地点,周数\n"; + + for (const day in dailyStats) { + console.log(`\n${day}(星期${dailyStats[day].weekday})课程统计:`); + console.log(`总课程数:${dailyStats[day].totalClasses}`); + + // 按照课程顺序输出 + dailyStats[day].courses.forEach((course) => { + console.log( + `${course.name}: 第${course.period}节 (${course.startTime}-${course.endTime}) - 教师:${course.teacher} - 地点:${course.location}` + ); + + // 添加CSV行,开始节数和结束节数相同,表示单节课 + csvContent += `${course.name},${dailyStats[day].weekday},${course.period},${course.period},${course.teacher},${course.location},1-16\n`; + }); + } + + // 将CSV内容写入文件 + fs.writeFileSync("course_schedule.csv", csvContent, "utf-8"); + console.log("\nCSV文件已生成:course_schedule.csv"); + + return { + processedData: data, + csvContent: csvContent, + statistics: dailyStats, + }; +} + +// 处理数据并保存结果 +const processedData = processScheduleData(data); +console.log("\n数据处理完成!"); + +// 导出处理后的数据 +export default processedData; diff --git a/src/components/SettingsLinkGenerator.vue b/src/components/SettingsLinkGenerator.vue new file mode 100644 index 0000000..ae359a4 --- /dev/null +++ b/src/components/SettingsLinkGenerator.vue @@ -0,0 +1,458 @@ + + + diff --git a/src/pages/index.vue b/src/pages/index.vue index 3e073d0..1f31799 100644 --- a/src/pages/index.vue +++ b/src/pages/index.vue @@ -11,22 +11,43 @@
@@ -35,16 +56,30 @@
-
- +
+ {{ item.name }} - + {{ text }} @@ -58,8 +93,12 @@
- + {{ subject.name }} @@ -80,39 +125,79 @@
- + 上传 - 同步完成 - + 同步完成 + + 随机点名 - - {{ state.isFullscreen ? '退出全屏' : '全屏显示' }} - + + {{ state.isFullscreen ? "退出全屏" : "全屏显示" + }} + + 屏幕保护技术已启用 -

本应用采用独立自研的动态像素偏移技术(DPO™),有效防止LCD屏幕烧屏现象。

-

*研究显示动态像素偏移技术可以修复屏幕坏点,起到保护屏幕的作用,数据来自实验室。 + 本应用采用独立自研的动态像素偏移技术(DPO™),有效防止LCD屏幕烧屏现象。 +

+

+ *研究显示动态像素偏移技术可以修复屏幕坏点,起到保护屏幕的作用,数据来自实验室。专利号CN108648692

-

*技术已自动适配您的设备,无需手动调整

- + target="_blank" + >专利号CN108648692 + +

+

+ *技术已自动适配您的设备,无需手动调整 +

- +

出勤

应到 : @@ -140,9 +225,13 @@ {{ state.boardData.attendance.absent.length }}人

-

- {{ `${index + 1}. ` }}{{ name - }} +

+ {{ `${index + 1}. ` }}{{ name }}

迟到: @@ -150,9 +239,13 @@ {{ state.boardData.attendance.late.length }}人

-

- {{ `${index + 1}. ` }}{{ name - }} +

+ {{ `${index + 1}. ` }}{{ name }}

不参与: @@ -160,21 +253,35 @@ {{ state.boardData.attendance.exclude.length }}人

-

- {{ `${index + 1}. ` }}{{ name - }} +

+ {{ `${index + 1}. ` }}{{ name }}

- + {{ state.dialogTitle }} {{ autoSave ? "喵?喵呜!" : "写完后点击上传谢谢喵" }} - + @@ -183,8 +290,12 @@ {{ state.snackbarText }} - + @@ -196,55 +307,102 @@ - - - - +
- + @click=" + attendanceSearch = + attendanceSearch === surname.name ? '' : surname.name + " + > {{ surname.name }} ({{ surname.count }})
-
- + 到课 - + 请假 - + 迟到 - + 不参与
@@ -252,56 +410,129 @@ - +
- - {{ getStudentStatusIcon(state.studentList.indexOf(student)) }} + + {{ + getStudentStatusIcon(state.studentList.indexOf(student)) + }}
{{ student }}
- - - - + + + +
- + +
批量操作
- + 全部到齐 - + 全部请假 - - - + + + + 全部迟到 - + 全部不参与
-
+
@@ -337,20 +568,74 @@ - + + + + + 确认应用URL配置 + +

以下配置将应用于当前班级:

+ + + + + {{ change.name }} + {{ + change.description || change.key + }} + + + {{ change.oldValue }} + + {{ + change.newValue + }} + + + +
+ + + + 取消 + + + 确认应用 + + +
+
diff --git a/src/pages/settings.vue b/src/pages/settings.vue index 6a59c76..e609351 100644 --- a/src/pages/settings.vue +++ b/src/pages/settings.vue @@ -40,7 +40,9 @@ - + + +