From 8e50f0717df0b7ad3a57f8d64c124cac414278ba Mon Sep 17 00:00:00 2001
From: tiantian <1012874180@qq.com>
Date: Tue, 10 Dec 2024 18:41:41 +0800
Subject: [PATCH 1/2] =?UTF-8?q?add:=E5=85=BC=E5=AE=B9=E7=A7=BB=E5=8A=A8?=
=?UTF-8?q?=E7=AB=AF=E9=9D=99=E6=80=81=E6=A0=B7=E5=BC=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
frontend/components.d.ts | 7 +-
frontend/index.html | 4 +-
frontend/package-lock.json | 20 ++++
frontend/package.json | 1 +
frontend/src/App.vue | 10 +-
.../components/desktop/mobile/BottomBar.vue | 47 ++++++++
.../src/components/desktop/mobile/Mobile.vue | 105 ++++++++++++++++++
.../components/desktop/mobile/MobileApp.vue | 43 +++++++
.../src/components/desktop/mobile/util.scss | 16 +++
frontend/src/util/device.ts | 10 ++
frontend/vite.config.ts | 8 +-
11 files changed, 262 insertions(+), 9 deletions(-)
create mode 100644 frontend/src/components/desktop/mobile/BottomBar.vue
create mode 100644 frontend/src/components/desktop/mobile/Mobile.vue
create mode 100644 frontend/src/components/desktop/mobile/MobileApp.vue
create mode 100644 frontend/src/components/desktop/mobile/util.scss
create mode 100644 frontend/src/util/device.ts
diff --git a/frontend/components.d.ts b/frontend/components.d.ts
index cc621de..9424b7b 100644
--- a/frontend/components.d.ts
+++ b/frontend/components.d.ts
@@ -25,6 +25,7 @@ declare module 'vue' {
AssistantAdd: typeof import('./src/components/ai/AssistantAdd.vue')['default']
Battery: typeof import('./src/components/taskbar/Battery.vue')['default']
BatteryPop: typeof import('./src/components/taskbar/BatteryPop.vue')['default']
+ BottomBar: typeof import('./src/components/desktop/mobile/BottomBar.vue')['default']
Browser: typeof import('./src/components/builtin/Browser.vue')['default']
Calendar: typeof import('./src/components/builtin/Calendar.vue')['default']
Chat: typeof import('./src/components/chat/Chat.vue')['default']
@@ -73,13 +74,9 @@ declare module 'vue' {
ElFormItem: typeof import('element-plus/es')['ElFormItem']
ElIcon: typeof import('element-plus/es')['ElIcon']
ElInput: typeof import('element-plus/es')['ElInput']
- ElOption: typeof import('element-plus/es')['ElOption']
ElPagination: typeof import('element-plus/es')['ElPagination']
ElProgress: typeof import('element-plus/es')['ElProgress']
ElRow: typeof import('element-plus/es')['ElRow']
- ElSelect: typeof import('element-plus/es')['ElSelect']
- ElSwitch: typeof import('element-plus/es')['ElSwitch']
- ElTag: typeof import('element-plus/es')['ElTag']
Error: typeof import('./src/components/taskbar/Error.vue')['default']
FileIcon: typeof import('./src/components/builtin/FileIcon.vue')['default']
FileIconImg: typeof import('./src/components/builtin/FileIconImg.vue')['default']
@@ -103,6 +100,8 @@ declare module 'vue' {
MenuList: typeof import('./src/components/taskbar/MenuList.vue')['default']
MessageCenterPop: typeof import('./src/components/taskbar/MessageCenterPop.vue')['default']
MessageIcon: typeof import('./src/components/taskbar/MessageIcon.vue')['default']
+ Mobile: typeof import('./src/components/desktop/mobile/Mobile.vue')['default']
+ MobileApp: typeof import('./src/components/desktop/mobile/MobileApp.vue')['default']
MusicStore: typeof import('./src/components/builtin/MusicStore.vue')['default']
MusicViewer: typeof import('./src/components/builtin/MusicViewer.vue')['default']
NetWork: typeof import('./src/components/taskbar/NetWork.vue')['default']
diff --git a/frontend/index.html b/frontend/index.html
index ad82f44..3a5daae 100644
--- a/frontend/index.html
+++ b/frontend/index.html
@@ -3,7 +3,7 @@
-
+
GodoOS
diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index cfa25c5..89e5c40 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -21,6 +21,7 @@
"moment": "^2.30.1",
"pinia": "^2.1.7",
"pinia-plugin-persist": "^1.0.0",
+ "swiper": "^11.1.15",
"vue": "^3.4.31",
"vue-i18n": "^9.13.1",
"vue-router": "^4.4.0",
@@ -3436,6 +3437,25 @@
"integrity": "sha512-osIBl6BGUmSfDkyH2mB7EFvCJntXDrLhKjHTRj/rK6xLH0yuPrHULDRQzKokSOD4VoorhtKpfcfW1GAntu8now==",
"optional": true
},
+ "node_modules/swiper": {
+ "version": "11.1.15",
+ "resolved": "https://registry.npmmirror.com/swiper/-/swiper-11.1.15.tgz",
+ "integrity": "sha512-IzWeU34WwC7gbhjKsjkImTuCRf+lRbO6cnxMGs88iVNKDwV+xQpBCJxZ4bNH6gSrIbbyVJ1kuGzo3JTtz//CBw==",
+ "funding": [
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/swiperjs"
+ },
+ {
+ "type": "open_collective",
+ "url": "http://opencollective.com/swiper"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4.7.0"
+ }
+ },
"node_modules/symbol-tree": {
"version": "3.2.4",
"resolved": "https://registry.npmmirror.com/symbol-tree/-/symbol-tree-3.2.4.tgz",
diff --git a/frontend/package.json b/frontend/package.json
index 3d7edc6..2f94b61 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -22,6 +22,7 @@
"moment": "^2.30.1",
"pinia": "^2.1.7",
"pinia-plugin-persist": "^1.0.0",
+ "swiper": "^11.1.15",
"vue": "^3.4.31",
"vue-i18n": "^9.13.1",
"vue-router": "^4.4.0",
diff --git a/frontend/src/App.vue b/frontend/src/App.vue
index bf7b858..0ba0032 100644
--- a/frontend/src/App.vue
+++ b/frontend/src/App.vue
@@ -1,12 +1,18 @@
-
+
+
diff --git a/frontend/src/components/desktop/mobile/BottomBar.vue b/frontend/src/components/desktop/mobile/BottomBar.vue
new file mode 100644
index 0000000..e56ae84
--- /dev/null
+++ b/frontend/src/components/desktop/mobile/BottomBar.vue
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/src/components/desktop/mobile/Mobile.vue b/frontend/src/components/desktop/mobile/Mobile.vue
new file mode 100644
index 0000000..e037ff1
--- /dev/null
+++ b/frontend/src/components/desktop/mobile/Mobile.vue
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/src/components/desktop/mobile/MobileApp.vue b/frontend/src/components/desktop/mobile/MobileApp.vue
new file mode 100644
index 0000000..186a941
--- /dev/null
+++ b/frontend/src/components/desktop/mobile/MobileApp.vue
@@ -0,0 +1,43 @@
+
+
+
+ {{ getName(item) }}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/src/components/desktop/mobile/util.scss b/frontend/src/components/desktop/mobile/util.scss
new file mode 100644
index 0000000..3b1c62f
--- /dev/null
+++ b/frontend/src/components/desktop/mobile/util.scss
@@ -0,0 +1,16 @@
+@use "sass:math";
+
+// 默认设计稿的宽度
+$designWidth: 375;
+// 默认设计稿的高度
+$designHeight: 667;
+
+// px 转为 vw 的函数
+@function vw($px) {
+ @return math.div($px, $designWidth) * 100vw;
+}
+
+// px 转为 vh 的函数
+@function vh($px) {
+ @return math.div($px, $designHeight) * 100vh;
+}
\ No newline at end of file
diff --git a/frontend/src/util/device.ts b/frontend/src/util/device.ts
new file mode 100644
index 0000000..8606a3e
--- /dev/null
+++ b/frontend/src/util/device.ts
@@ -0,0 +1,10 @@
+export const isMobileDevice=() =>{
+ const userAgent = navigator.userAgent.toLowerCase();
+ const mobileKeywords = ['iphone', 'android', 'mobile', 'blackberry', 'iemobile', 'opera mini'];
+ for (const keyword of mobileKeywords) {
+ if (userAgent.includes(keyword)) {
+ return true;
+ }
+ }
+ return false;
+}
\ No newline at end of file
diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts
index 53ba47a..5116be2 100644
--- a/frontend/vite.config.ts
+++ b/frontend/vite.config.ts
@@ -21,7 +21,13 @@ export default defineConfig(async () => ({
resolvers: [ElementPlusResolver()],
}),
],
-
+ css: {
+ preprocessorOptions: {
+ scss: {
+ additionalData: `@import "./src/components/desktop/mobile/util.scss";`
+ }
+ }
+ },
clearScreen: false,
server: {
host: '0.0.0.0',
From 9660695446fc049d788088d3738e3e8738b2e405 Mon Sep 17 00:00:00 2001
From: tiantian <1012874180@qq.com>
Date: Wed, 11 Dec 2024 09:07:45 +0800
Subject: [PATCH 2/2] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8Dbuild=E5=A4=B1?=
=?UTF-8?q?=E8=B4=A5=E8=AF=AD=E6=B3=95=E9=94=99=E8=AF=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
frontend/src/components/desktop/mobile/Mobile.vue | 1 -
1 file changed, 1 deletion(-)
diff --git a/frontend/src/components/desktop/mobile/Mobile.vue b/frontend/src/components/desktop/mobile/Mobile.vue
index e037ff1..35546e4 100644
--- a/frontend/src/components/desktop/mobile/Mobile.vue
+++ b/frontend/src/components/desktop/mobile/Mobile.vue
@@ -76,7 +76,6 @@ Bios.onOpen((system: System) => {
.desktop {
position: relative;
background-color: #3A98CE;
- background: url('@/pubic/image/bg/bg6.jpg');
height: 100vh;
overflow: hidden;
.userarea-upper {